【正则表达式】匹配规则学习和理解

正则可以简单理解为:要匹配的内容(数字?字母?)+内容匹配的规则(次数等)

一、内容

1.1、要匹配的内容表示

代码 / 语法 说明
. 匹配除换行符以外的任意字符
w 匹配字母或数字
s 匹配任意的空白符
d 匹配数字

1.2 要匹配内容的位置

代码 / 语法 说明
 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

1.3 内容的关系

代码 / 语法 说明
[] 表示范围
|

1.4 常用的反义代码

代码 / 语法 说明
W 匹配任意不是字母和数字的字符
S 匹配任意不是空白符的字符
D 匹配任意非数字的字符
B 匹配不是单词开头或结束的位置
[^x] 匹配除了 x 以外的任意字符
[^aeiou] 匹配除了 aeiou 这几个字母以外的任意字符

二、内容匹配规则

重复次数规则:

代码 / 语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复 n 次
{n,} 重复 n 次或更多次
{n,m} 重复 n 到 m 次

三、高阶语法:

分组等,后续再补充。

参考文章:正则表达式 30 分钟入门教程

四、常用工具:

1、Regexper https://regexper.com/# (测试表达式的网站:)

2、正则表达式在线测试 | 菜鸟工具 https://c.runoob.com/front-end/854 (包含一些常用正则表达式)

五、其他注意:

1、JS 全局正则表达式匹配同一字符串结果不一致 - XCMercy - CSDN 博客 https://blog.csdn.net/cccmercy/article/details/79735420

2、不包含字符串 abc 的正则表达式 - 笑的自然技术博客 - CSDN 博客 https://blog.csdn.net/xxd851116/article/details/7576624

3、js 和 java 中正则表达式的易混淆点 - 绝影 jy 的个人空间 - 开源中国 https://my.oschina.net/imjueying/blog/296077 (文章挺不错,需特别注意)

六、参考:

  1. 正则表达式 30 分钟入门教程
  2. 正则表达式 - 廖雪峰的官方网站
原文地址:https://www.cnblogs.com/buwuliao/p/9003280.html