概述:
根据《正则必知必会》一书,简单整理了前七章的知识点内容,用于自我复习。
.字符: 匹配任意单个字符,包括.本身
转义:使用反斜杠+元字符
纯文本同样为正则
集合[],[a-zA-z] 匹配集合内任意字符
非字符: 在集合内使用^字符,可以使集合以非逻辑。如[^0-9]匹配非数字字符
\d 数字 \w 字母数字下划线
\s 空白字符
重复匹配
+字符 集合后加上+ 表示一个或多个
* 匹配0个或多个字符集合
? 匹配0个或一个
重复匹配次数 {x,y} 出现x次至y次 {x,} 至少出现x次
贪婪匹配:
文本: living in <B>AK</B> and <B> and </B> 匹配: <B>.*</B> 匹配内容 <B>AK</B> and <B> and </B>
在这里的匹配便是贪婪匹配,取消贪婪匹配可以改为使用
<B>.*?</B>
位置匹配
- 单词边界 \b
eg:
The cat scatted his food all over the room.
正则:
\bcat\b
匹配:
cat
分析: 如果正则表达式只是单纯的cat,那么匹配的文本不仅会有cat,还会有scatted中的cat
,通过单词边界\b来保证只匹配到单词cat
- 字符串开头 ^ 字符串结尾 $
eg:
^\s*<\?xml\?>
</[Hh][Tt][Mm][Ll]>\s*$
其他:
子表达式: 使用括号,使得一个表达式称为子表达式