正则表达式
通配符的加强版
正则表达式在线测试工具:https://regex101.com/
规则:
单字符规则:
? 表示?前的单个字符可以出现0/1次
* 表示*前的字符可以出现0/多次
+ 表示+号前的字符出现多次(一次及以上)
{5} 表示{}前的字符出现5次
{2,6} 表示{}前的字符出现2-6次之间
{2,} 表示{}前的字符出现2次以上
多字符规则:
()+ 匹配括号内内容多次出现
或:
(a|b) 匹配a或b
字符类:
[asd]+ []中的内容代表要求匹配的字符只能取自它们,可以再[]里指定字符的范围
[a-z]所有的小写英文字符
[A-Z]所有的大写英文字符
[0-9]所有的数字
再[]前^ 代表要求匹配除了^后面列出的[]以外的字符
[^0-9]所有的非数字字符(包含换行符)
常用字符类型(元字符):
\d 数字字符
\w 单词字符(英文、数字以及下划线)
\s 空白符(包含Tab和换行符)
\D 非数字字符
\W 非单词字符
\S 非空白字符
. 任意字符(不包含换行符)
^ 匹配行首(字符前)
$ 匹配行尾(字符后)
贪婪匹配/懒惰匹配
? .+会尽可能多的匹配字符 .+?就会改为匹配尽可能少的字符
匹配文章中的单个单词(过滤目标单词被包含在其他单词中的情况)
.*?[^A-Za-z]"+ () +"[^A-Za-z].*