正则表达式

1.正则表达式中字符的含义

1.1 字符类

\d:匹配任意阿拉伯数字【0-9】

匹配正整数:/^[1-9]\d*$/

\D:匹配任意一个不是阿拉伯数字的字符

匹配不包含数字的的用户名:/^\D+$/

\w:匹配任意来自基本拉丁字母表中的字母数字字符和下划线【A-Za-Z0-9_】

匹配包含8-16位的包含数字、字符和下划线的密码:/^\w{8,16}$/

\W:匹配任意不是基本拉丁字母表中的单词(字母数字下划线)字符的字符

匹配不包含字母数字下划线的任意字符:/^\W*$/

\s:匹配一个空白符,包括空格、制表符、换页符、换行符和其他Unicode空格

匹配首尾空格:/(^\s)|(\s$)/

\S:匹配一个非空白符

.:匹配任意单个字符

[xyz]:一个字符集合,也叫字符组。匹配集合中的任意一个字符。可以使用连字符‘-’指定一个范围

匹配月份:/[1-9]|1[0-2]/

[^xyz]:一个反义或补充字符集,也就是说,它匹配任意不在括号内的字符。可以通过使用连字符‘-’指定一个范围内的字符。

匹配除了数字的任意字符:/[^\d]*/

1.2 数量词

x{n}:前面模式x连续出现n次匹配

匹配包含任意字符的8位密码:/.{8}/

x{n,}:前面模式x至少出现n次

匹配至少出现5次‘xml’的字符串:/(xml){5,}/

x{n,m}:前面模式x至少出现n次,至多出现m次

x*:匹配前面的模式x0次或多次

x+:匹配前面的模式x1次或多次

x?:匹配前面的模式0次或1次

x|y:匹配x或y

匹配含有m或者n的单词:/m|n/

x*?   x+?:最小匹配(惰性匹配)

1.3 断言

x(?=y)仅匹配被y跟随的x

x(?=y)

x(?!y)仅匹配不被y跟随的x

2. 正则表达式中的括号

2.1 分组

(x):匹配x并且捕获匹配项

2.2 引用分组

()中的内容对应着RegExp对象的属性$1,...,$9

引用分组

2.3 反向引用

引用反向是存在正则里面的

反向引用

2.4 非捕获分组

非捕获分组

3.操作符的优先级(从上到下,从高到低)

1. 转义符    \

2. 括号和方括号 () []

3. 量词限定符 {m}、{m,n}、{m,}、*、?、+、?

4.位置和序列 ^、$、\元字符、一般字符

5.管道符  |

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 7,137评论 0 99
  • \ :将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列...
    小沙鹰168阅读 557评论 0 1
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,163评论 0 9
  • 忘了从哪收集的资料了,放这儿,以备不时之需。 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{...
    study_monkey阅读 1,423评论 0 7
  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 22,945评论 4 46