🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 特殊符号和字符 ### 元字符 ~~~ literal 匹配文本的字面量 re1|re2 匹配正则表达式1或者2 . 匹配任意字符(除\n) ^ 匹配字符串起始部分,同\A $ 匹配字符串结束部分,同\Z * 匹配0次或者多次前面出现的正则表达式 ? 匹配0次或1次前面出现的正则表达式 + 匹配1次或者多次前面出现的正则表达式 {N} 匹配前面的正则表达式N次 {, N} 匹配前面的正则表达式0~N次 {M, N} 匹配前面的正则表达式M~N次 [...] 匹配来自字符集中的任意单一字符 [^...] 不匹配来自字符集中的任意单一字符 (*|+|?|{})? 非贪婪版本 (...) 匹配正则表达式,存为子组 ~~~ ### 特殊字符 ~~~ \d 匹配十进制字符,同[0-9],\D与\d相反 \w 匹配字母数字,同[A-Za-z0-9],\W与\w相反 \s 匹配任何空格,同[\n\t\r\v\f],\S与\s相反 \b 匹配单词边界 \N 匹配已保存的子组 \c 按字面量匹配任何特殊字符 ~~~ ### 扩展表示法 ~~~ (?para) 在正则表达式嵌入一个或者多个标记 (?:...) 匹配一个不用保存的分组 --> 非捕获租 (?P<name>) 分组重命名 (?P=name) 在同一字符串中匹配由(?P<name>)分组之前的文本 (?#) 注释 (?=...) 匹配条件是如果...出现在之后的位置,不使用输入字符串,正向前视断言 (?!...) 匹配条件是如果...不出现在之后的位置,不使用输入字符串,负向前视断言 (?<=...) 匹配条件是如果...出现在之前的位置,不使用输入字符串,正向后视断言 (?<!...) 匹配条件是如果...不出现在之前的位置,不使用输入字符串,负向后视断言 (?(id/name)Y|N) 如果分组的id或者名称存在,就返回正则表达式匹配的条件Y,否则返回N,N可选 ~~~