正则表达式笔记

Author Avatar
huuhghhgyg 12月 31, 2020
  • 在其它设备中阅读本文章

标记

表达式 作用 示例 作用
^ 匹配行首 ^a 匹配a在行首的情况
$ 结匹配行尾 a$ 匹配a在行尾的情况

普通字符(大小写敏感)

表达式 作用 示例 作用
[] 只能匹配中括号中的字符 [ABC] 匹配字符串中的所有A、B、C
[^A] 除去 [^ABC] 得到除了ABC以外的所有字符
[A-Z] 某一个区间(可以是大写区间、小写区间、数字区间) [A-C] 匹配A-C的区间
. 匹配 除换行符的所有单个字符,相当于[^\n\r]
[\s] 匹配 空白字符(空格、换行)
[\s] 匹配 非空白字符(包括换行)
[\w] 匹配 字母、数字、下划线,相当于[A-Za-z0-9]

非打印字符

符号 作用 示例 作用
\ca 匹配control+a的快捷键(\c是表示c,\为转义)(\cx的x必须是A-Z或者a-z) \cv 匹配ctrl+v的快捷键
\f 换页符
\n 换行符
\r 回车
\s 空白字符,包括空格、制表符、换页符等等
\S 非空白字符,包括回车
\t 制表符(Tab)
\v 垂直制表符(Vertical Tab)
\d 数字字符,等价于[0-9]
\D 非数字字符,等价于[^0-9]
\w 单词(word)
\W 非单词

特殊字符

符号 作用 示例 作用
$ 匹配字符串的结尾位置
() 标记一个子表达式开始和结束的位置
* 匹配前面的子表达式0次或多次 go*gle 可以匹配ggle,google,gooooogle等
+ 匹配前面的子表达式1次或多次(1+) go+gle 可以匹配gogle,goooogle等
. 匹配除换行符之外的任何单字符
[ 标记一个中括号表达式的开始
? 匹配前面的字符可有可无,或指明一个非贪婪限定符
\ 转义符
^ 匹配输入字符串的开始位置
{ 标记限定符表达式的开始
或(两项之间的选择) a|b 匹配a或b

限定符

符号 作用
{n} 匹配n次
{n,} 匹配n次及以上
{n,m} 至少匹配n次,至多匹配m次

高级匹配

  • 贪婪匹配:匹配到最后
    <.+>默认贪婪匹配任意字符
  • 懒惰匹配:匹配到就停止
    <.+?>懒惰匹配任意字符
link
本文链接:
发文时间
12月 31, 2020
请遵循协议