正则表达式由入门到精通
基础篇
字符匹配
-
digit
word
-
space
量词
-
*
:匹配前面的模式零次或多次。 -
+
:匹配前面的模式一次或多次。 -
?
:匹配前面的模式零次或一次。 -
{n}
:匹配前面的模式恰好 n 次。 -
{n,}
:匹配前面的模式至少 n 次。 -
{n,m}
:匹配前面的模式至少 n 次且不超过 m 次。
边界匹配
-
^
:匹配字符串的开头。 $
:匹配字符串的结尾。-
\b
:匹配单词边界。 -
\B
:匹配非单词边界。
修饰符
这样使用
进阶篇
非打印字符
贪婪模式和非贪婪模式
*和 + 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个 ? 就可以实现非贪婪或最小匹配。
选择
用圆括号 () 将所有选择项括起来,相邻的选择项之间用 | 分隔。 () 表示捕获分组, () 会把每个分组里的匹配的值保存起来, 多个匹配值可以通过数字 n 来查看(n 是一个数字,表示第 n 个捕获组的内容)。
捕获分组
对捕获的分组进行命名
'(?P<value>\d+)'
非捕获元
exp1(?=exp2) :查找 exp2 前面的 exp1。
(?<=exp2)exp1:查找 exp2 后面的 exp1。
exp1(?!exp2) :查找后面不是 exp2 的 exp1。
(?<!exp2)exp1:查找前面不是 exp2 的 exp1。
反向引用
实战篇
数字校验
字符校验
日期和时间校验
日常生活相关
互联网相关
其他
参考资料:
- 菜鸟教程
- Road 2 Coding (r2coding.com)
- 实战篇如需复制,导航至参考资料2
- 如果觉得此文对你有帮助的话就点一个小小的赞哦~