正则表达式
正则表达式:Regular Expression,是一种使用表达式的方式对字符串进行匹配的语法规则
正则表达式的优点:速度快,效率高
正则的缺点:上手难度有点高
正则的语法:使用元字符进行排列组合用来匹配字符串
在线测试正则表达式:在线正则表达式测试 (oschina.net)
元字符
具有固定含义的特殊符号,常用的元字符:
. 匹配除了换行符之外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配换行符
\t 匹配一个制表符
^ 匹配字符串的开始
$ 匹配字符串的结尾
\W 匹配非字母或数字或下划线
\D 匹配非数字
\S 匹配非空白符
a|b 匹配字符a或者字符b
() 匹配括号内的表达式,也表示一个组
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符
量词
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n次到m次
贪婪匹配和惰性匹配
.* 贪婪匹配,会匹配尽可能多的东西
.*? 惰性匹配,会匹配尽可能少的东西
例如对于
str: 玩⼉吃鸡游戏, 晚上⼀起上游戏, ⼲嘛呢? 打游戏啊
reg: 玩⼉.*游戏
此时匹配的是: 玩⼉吃鸡游戏, 晚上⼀起上游戏, ⼲嘛呢? 打游戏
reg: 玩⼉.*?游戏
此时匹配的是: 玩⼉吃鸡游戏