以下是常用的正则表达式命令,供参考:
- ^ 匹配字符串开头
- $ 匹配字符串结尾
- . 匹配任意单个字符
- \d 匹配数字
- \D 匹配非数字
- \w 匹配字母数字下划线
- \W 匹配非字母数字下划线
- \s 匹配空格、制表符、换行符等空白字符
- \S 匹配非空白字符
- [] 方括号内匹配任意一个字符
- [^] 方括号内匹配除此之外的任意字符
- () 用于分组,可对括号内的子表达式应用量词、分组引用等操作
-
- 匹配 0 或多个字符
-
- 匹配 1 或多个字符
- ? 匹配 1 或 0 个字符,表示可选项
- {n} 匹配 n 个字符
- {n,} 匹配至少 n 个字符
- {n,m} 匹配 n 到 m 个字符
- *? 非贪婪模式,匹配尽可能少的字符
- +? 非贪婪模式,匹配尽可能少的字符
- ?? 非贪婪模式,匹配尽可能少的字符
- {n,m}? 非贪婪模式,匹配尽可能少的字符
- | 匹配多选项中的任意一个
- \ 转义字符,将特殊字符转义为字面量字符
- (?imnsx-imnsx) 对分组内的表达式应用不同的修饰符
- (?:abc) 定义非捕获分组
- (?<=abc) 前向肯定断言,匹配 abc 前面的位置
- (?<!abc) 前向否定断言,匹配不在 abc 前面的位置
- (?=abc) 后向肯定断言,匹配 abc 后面的位置
- (?!abc) 后向否定断言,匹配不在 abc 后面的位置
- \b 匹配单词边界,即单词与非单词之间的位置
- \B 匹配非单词边界,即两个单词或两个非单词之间的位置
- \t 匹配制表符
- \n 匹配换行符
- \r 匹配回车符
- \f 匹配换页符
- \v 匹配垂直制表符
- \0 匹配空字符
- \xhh 匹配由两个十六进制数表示的 ASCII 字符
- \uhhhh 匹配由四个十六进制数表示的 Unicode 字符
- (?>abc) 匹配 abc,不进行回溯
- (?Pabc) 命名捕获分组
- (?P=name) 引用已命名的捕获分组
- (?(id)yes|no) 如果已存在 id 号分组则匹配 yes,否则匹配 no
- (?#comment) 模式注释,只做为注释而不参与匹配
- \d{3,} 匹配至少三个数字
- 1{1,}$ 匹配由小写字母组成的单词
- 2{1,}$ 匹配由汉字组成的字符串
- [0-9a-zA-Z] 匹配数字和大小写字母
- [^0-9a-zA-Z] 匹配非数字和大小写字母
- [^x-z] 匹配除 x、y 和 z 之外的字符
- [a-c]|[x-z] 匹配 a 到 c 或 x 到 z 的字符
- \bhello\b 匹配单词 “hello”
- \w+\d+ 匹配由字母数字组成的单词后面跟着一个数字
- \d{4}-\d{2}-\d{2} 匹配日期格式的字符串
- [a-z]+.(com|cn|org) 匹配邮箱地址
- \b[A-Z]\w*\b 匹配任意以大写字母开头的单词
- (https?😕/)?[a-z]+.[a-z]+[a-z/]* 匹配 URL 地址
- [0-9]{3}-[0-9]{2}-[0-9]{4} 匹配美国社会安全号码(SSN)
- 3{4}-[0-9]{1,2}-[0-9]{1,2}$ 匹配日期格式的字符串
- (?<=)[^<]+(?=) 匹配 HTML 标签中的内容
- \b(\w+)\b\s+\1\b 匹配重复的单词
- (?😦?<=)|(?<=[a-zA-Z0-9]))[A-Z]+(?😦?=$)|(?=[^a-zA-Z0-9])) 匹配由大写字母组成的单词
- \d+(?:st|nd|rd|th) 匹配序数词,如 “1st”, “2nd”, “3rd” 等
- (?i)abc 匹配 “ABC” 或 “abc”
- (?i)4+$ 匹配任意以大小写字母组成的单词
- (?i)5.*[a-z]$ 匹配任意以大小写字母组成的字符串
- (?<!\d)\d{5}(?!\d) 匹配美国邮政编码
- [A-Z][a-z]\s+[A-Z][a-z] 匹配由两个人名组成的小写字母单词
- /(\w)(\w)\1\2/ 匹配重复的两个字符
- 6+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$ 匹配邮箱地址
- \b[A-Za-z]+\b 匹配任意一个英文单词
- [\u4e00-\u9fa5] 匹配任意一个汉字
- ^\d{6}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ 匹配身份证号码(18位)
- ^\d{15}KaTeX parse error: Undefined control sequence: \d at position 3: |^\̲d̲{18} 匹配身份证号码(15位或18位)
- ^(http(s)?😕/)?([\w-]+.)+[\w-]+(/[A-Za-z0-9-./?%&=]*)?$ 匹配 URL 地址
- ?<=[)\S+(?=]) 匹配方括号中的内容
- [^\u4e00-\u9fa5]+ 匹配非汉字字符
- ^\d+(.\d{2})?$ 匹配金额格式,如 100.00
- (?i)<a\s+href=[^>]+>(.+?) 匹配 HTML 页面上的超链接
- (?<=().+?(?=)) 匹配括号内的内容
- (?i)\bT(?!s)\w+\b 匹配任意以 T 开头的单词,但不包括 Ts 开头的单词
- ^(0|[1-9]\d{0,2})(,\d{3}){0,3}$ 匹配千位分隔符的数字格式,如 123,456,789
- (?i)(?<=:\s*)\S.* 匹配冒号后面的内容
- <(\w+)\b[^>]>[\s\S]?</\1> 匹配 HTML 标签
- (?<=|(?<=[a-zA-Z0-9-.]))@[A-Za-z]+[A-Za-z0-9-]+(?:.[A-Za-z0-9]+)* 匹配 Twitter 上的用户名
- 7?[0-9]*.?[0-9]+([eE][-+]?[0-9]+)?$ 匹配科学计数法表示的数字
- ^\d{4}-\d{1,2}-\d{1,2}\b 匹配日期格式的字符串
- <h\d.?>(.?)</h\d> 匹配 HTML 页面上的标题
- (?i)\b\d{4}-\d{4}-\d{4}-\d{4}\b 匹配信用卡号码
- (?😦?<!\w)[A-Z]+\w*(?!\w)\s*){2,} 匹配至少包含两个单词的人名
- ^(\w+).(\w{3})$ 匹配以字母开头的三个字符长度的文件名
- (?i)(?<=[> {2}])\w+(?=() 匹配函数名
- ^\d{1,4}(-\d{1,4}){3}$ 匹配 IP 地址,如 192-168-0-1
- ^([01]?\d|2[0-3]):[0-5]\d$ 匹配时间格式 HH:mm(24小时制)
- (?i)\b(\w+)\s+\1\s+\1\b 匹配重复的单词组合
- ^\d{1,2}/\d{1,2}/\d{4}$ 匹配日期格式 MM/DD/YYYY
- [^a-zA-Z0-9_]+ 匹配除字母、数字和下划线外的任意字符
- (?<=[code=python]).*?(?=[/code]) 匹配 BBCode 标签中的代码块
- ^(([1-9]\d?)|(1[0-2]\d)|(13[0-7]))$ 匹配用户年龄(0-137岁)