正则表达式

1. 正则表达式语法

正则表达式,是由普通字符和特殊字符组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。常见的正则表达式使用字符:

普通字符

  • [ABC] 匹配[...]中的所有字符。如/[aeiou]/g 会匹配出字符串中的所有aeiou字符
  • [ ^ABC] 匹配除[...]中的字符,如/[ ^aeiou]/g
  • [A-Z] 匹配所有大写字母,/[A-Z]/g
  • [a-z] 匹配所有小写字母
  • [\s\S] 匹配所有。\s匹配所有空白符,包括换号。\S匹配所有非空白符
  • \w 匹配所有的字母、数字、下划线,相当于/[A-Za-z0-9_]/g

非打印字符

  • \cx 匹配由Control+x操作,或回车符
  • \f 匹配翻页
  • \n 匹配换号
  • \r 匹配回车
  • \s 匹配所有空白字符,包括空格、制表符、翻页符等,相当于[\f\n\r\v]
  • \S 匹配所有非空白字符
  • \t 匹配制表符
  • \v 匹配垂直制表符

特殊字符

  • $ 字符串末尾
  • () 字符串开始和结束位置(匹配(和)需要使用(、))
    • 匹配0次或多次
    • 匹配一次或多次,至少一次
  • ?匹配0次或一次
  • . 匹配换行符\n之外的所有单个字符
  • [ 匹配一个中括号表达式的开始
  • ^ 匹配字符串的开始位置,如果在方括号中使用,则指的是除这些之外的所有字符
  • | 两项之中选择一个

限定符

    • 0次、一次、或多次
    • 1次或多次
  • ? 0次或一次
  • {n} 匹配连续出现n次,/oo{2}/g,匹配oo连续出现两次的位置
  • {n,} 至少出现n次,/oo{2,}/g,匹配oo至少连续出现2次以上
  • {n,m} 至少出现n次,最多m次

定位符

  • ^ 匹配目标字符串的开始位置
  • $ 目标字符串的尾部
  • \b 匹配字符的边界
  • \B 匹配非字边界。

选择

  • | 用圆括号 () 将所有选择项括起来,相邻的选择项之间用 | 分隔

反向引用

反向引用,是用来匹配识别匹配的内容与第一个分组匹配的内容一致,表达式是 \1

相关推荐
西洼工作室19 小时前
【java 正则表达式 笔记】
java·笔记·正则表达式
kiss strong2 天前
正则表达式
正则表达式
Linux运维技术栈2 天前
Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作
开发语言·python·正则表达式
jackiendsc2 天前
Java中正则表达式的介绍、使用场景及示例代码
java·开发语言·正则表达式
taller_20002 天前
VBA之正则表达式(48)-- 快速拆分中文语句
正则表达式·正则·拆分中文·中文拆分·中文标点
梧桐树04292 天前
python:正则表达式
数据库·python·正则表达式
葡萄架子2 天前
Python中的正则表达式
python·mysql·正则表达式
Oneforlove_twoforjob3 天前
【Java】正则表达式基础题+场景题练习
正则表达式
产幻少年3 天前
正则表达式
正则表达式
Spcarrydoinb3 天前
正则表达式
笔记·学习·正则表达式·脚本语言