语法:
/正则表达式主体/修饰符可选
修饰符 | 描述 |
i | 执行对大小写不敏感的匹配 |
g | 执行全局匹配,而非匹配到第一个后截至 |
m | 执行多次匹配 |
1. ? 代表?前面的那个字符可有可无
比如:used? 就表示d可以有可无
所以匹配时可以只要字符中含有use就会被匹配:
例如:
2. * 代表*前的字符可以为0个或者多个字符(*理解为匹配所有情况)
例如:
3. + 代表+前的字符要出现一次或者一次以上(+理解为匹配数量为正数)
例如:
4. {} 进行前一个字符出现次数的精准匹配,可以规定要匹配的字符出现的具体次数或者范围
例如:
5. () 上述情况都是匹配单个字符的重复,如果需要匹配多个字符重复,要在想要重复的字符前加()
6. | “或”运算符
例如:
7.[] 字符类 []里的内容表示,接下来要匹配的内容只能取决于它们之中
8. 在[]内开头的部位,写入^代表取反的意思
9. \d 表示数字0-9等价于刚刚写的[0-9]
10.\w表示单词字符(英文、数字及下划线)
11. \s 代表空白符(包含Tab和换行符)
12. \D 代表非数字字符(\d取反)
13. \W 非单词字符(\w取反)
14. \S 非空白符(\s取反)
15. . 代表任意字符但不包括换行符
16. ^:匹配行首; $:匹配行尾;
17.贪婪与懒惰匹配
通过加问号 ? 将贪婪匹配切换到懒惰匹配
18. \. 代表.这个符号
19. \b 表示匹配字符的边界
常见匹配方法:
RGB颜色值匹配:#[a-fA-F0-9]{6}\b
IP地址匹配:\b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b
电话号码匹配:^1[3-9]\d{9}$