@Chiang
2020-10-14T20:01:20.000000Z
字数 1167
阅读 542
正则表达式
2020-10
正则表达式是一种被用于从文本中检索符合某些特定模式的文本。
? {0,1}
* {0,}
+ {1,}
\d [0-9]
\D [^0-9]
\w [A-Za-z_0-9]
\W [^A-Za-z_0-9]
\b 匹配一个单词的边界,也就是指单词和空格间的位置
\B 匹配非单词边界
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符
\t 匹配一个制表符
\v 匹配一个垂直制表符
\s [\f\n\r\t\v] 匹配任何不可见字符
\S [^\f\n\r\t\v] 匹配任何可见字符
. 匹配除“\n”和"\r"之外的任何单个字符
\num 标识一个八进制转义值或一个向后引用
[\s\S] 匹配包括“\n”和"\r"在内的任何字符
(pattern) 匹配pattern并获取这一匹配
(?:pattern) 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用
(?=pattern) 正向肯定预查(零宽度正预测先行断言)
(?!pattern) 正向否定预查(零宽度负预测先行断言)
(?<=pattern) 反向肯定预查(零宽度正回顾后发断言)
(?<!pattern) 反向否定预查(零宽度负回顾后发断言)
子字符类
[:alnum:] 0-9,A-Z,a-z
[:alpha:] A-Z,a-z
[:blank:] [space],[tab]
[:cntrl:] CR,LF,Tab,Del...控制按键
[:digit:] 0-9
[:graph:] [space],[tab]这两个键外的所有按键
[:lower:] a-z
[:print:] 任何可以被打印出来的字符
[:punct:] 标点符号
[:upper:] A-Z
[:space:] Tab CR,任何会产生空白的字符
[:xdigit:] 0-9,A-F,a-f
修正符
/i 忽略英文字母的大小写
/s 让元字符'.' 匹配包括换行符在内的所有字符[\s\S]
/x 如果加上该修正符,表达式中的空白字符将会被忽略,除非它已经被转义。
/U 懒惰匹配(默认贪婪匹配)
/g 表示全局匹配
/u utf-8
/m 默认的正则开始"^"和结束"$"只是对于正则字符串如果在修正符中加上"m",那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。
参考资料:
https://cdoco.com/
github
https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin
https://blog.csdn.net/clx527257002/article/details/82998057
https://www.cnblogs.com/siqi/p/12112514.html