正则表达式


正则表达式分为两个部分:元字符,量词
量词用于修饰紧挨着的前面的一个元字符
———————————————————————————————————

  • 元字符

[]: 字符组 匹配括号中列举的字符,只匹配一位
[^]: 非字符组 和字符组刚好相反
\d: 所有数字    d:digit
\D: 所有非数字
\w: 匹配所有字母 数字 下划线    w:word
\W: 除了所有字母 数字下划线之外的字符
\s: 空白:空格 换行符 制表符    s:space
\S: 非空白
\t: 制表符
\n: 换行符
.: 除了换行符之外的任意内容
^: 表示一个字符串的开始
$: 表示一个字符串的结束
|: 表示或。注意:如果两个规则有重复部分,则应该把长的放前面,短的放后面(如果先匹配到短的,就不会再继续匹配)
(): 表示分组,把部分正则内容规定为一组,如:1.可以配合|使用 2.在后面加量词,用于对整个分组做量词约束
\: 转义,如\.单独匹配.
———————————————————————————————————


———————————————————————————————————

  • 量词

{n}:表示只能刚好出现n次
{n,}:表示至少出现n次
{n,m}:至少n次,最多m次
?:表示匹配0次或1次。用于匹配可有可无,但有只能有一个
+:匹配1次或多次
*:匹配0次或多次。用于匹配可有可无,可以有多个
——注意:?和*匹配到0次也算匹配到了

———————————————————————————————————

 

  • 例

匹配整数或小数
\d+(.d+)?

 

———————————————————————————————————

  • 贪婪匹配与非贪婪匹配

贪婪匹配:
正则表达式默认为贪婪匹配,总是会在符合量词条件的范围内尽量多匹配。

非贪婪匹配:惰性匹配
在量词后面加一个?。在符合量词条件的范围内尽量少匹配。通常会在?后面再加一个字符配合使用。
格式:元字符 量词 ? x  (忽略中间的空格)
表示按照元字符在量词条件范围内匹配,一旦遇到x时立即停止
最常用形式:
. *?x
\d+?x

posted @ 2020-11-04 20:10  repacse  阅读(110)  评论(0)    收藏  举报