正则表达式

Posted qq849784670

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用实现定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

字符组:[字符组]

  在同一位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示

  字符分为很多类,比如数字、字母、标点等。

[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[a-zA-Z] 匹配大小写字母
[a-zA-Z0-9] 匹配大小写字母+数字
[a-zA-Z0-9_] 匹配数字字母下划线

 

 

 

 

 

元字符:

元字符 匹配内容
. 匹配除换行符以外的任意字符
w  匹配字母或数字或下划线
s 匹配任意的空白符(换行符、制表符、空格)
d 匹配数字
匹配一个换行符
匹配一个制表符
 匹配一个单词的结尾或开头
^ 匹配字符串的开头
$ 匹配字符串的结尾
W 匹配非字母数字下换线
D 匹配非数字
S 匹配非空白符
a|b 匹配字符a或字符b(将复杂的放在前面)
() 匹配括号内的表达式,也表示一个组
[...] 匹配字符组红的字符
[^...] 匹配除了字符组中字符的所有字符

 

 

 

 

 

 

 

 

 

 

 

 

量词:

量词 用法说明
{n} 重复n次
{n,} 重复n次或多次
{n,m} 重复n到m次
? 重复1次或0次
+ 重复1次或多次
* 重复0次或多次

 

 

 

 

 

正则表达式的匹配特点:贪婪匹配

  它会在允许的范围内取最长的结果

  非贪婪模式/惰性匹配:在量词的后面加上?

  .*?x 匹配任意非换行符字符任意长度 直到遇到x就停止

练习:

  匹配整数:d+

  匹配小数:d+.d+

  匹配小数或整数:d+.d+|d+

          d+(.d+)

  匹配身份证号码:[1-9]d{16}[dX]|[1-9]d{14}

          [1-9]d{14}(d{2}[dX])?

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

PHP 正则表达式总结

正则表达式

正则表达式

正则表达式“或“的使用

正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则

JS正则表达式详解