js正则大全
正则表达式
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
正则表达式简洁且功能强大,通常用来匹配字符串,比如在表单验证中检验用户输入是否合法。它并不仅仅在JavaScript中可以使用,众多的高级编程语言都支持正则表达式。
接下来我们通过一个简单是实例来体会正则表达式的用法。
准备工作
复习学过的字符串常用操作方法
- search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。
- match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
- replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
- split() 方法用于把一个字符串分割成字符串数组。
正则表达式的语法创建正则表达式的两种方法
- new RegExp(pattern, attributes);
- /pattern/attributes
- 参数介绍:
- 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
- 参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 分别用于指定全局匹配、区分大小写的匹配。
- 返回值:一个新的 RegExp 对象,具有指定的模式和标志。
修饰符
修饰符
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
方括号
方括号用于查找某个范围内的字符:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-Z] | 查找任何从大写 A 到大写 Z 的字符。 |
[A-z] | 查找任何从大写 A 到小写 z 的字符。 |
[adgk] | 查找给定集合内的任何字符。 |
[^adgk] | 查找给定集合外的任何字符。 |
(red|blue|green) | 查找任何指定的选项。 |
元字符
元字符是拥有特殊含义的字符:
元字符 | 描述 |
---|---|
. | 查找单个字符,除了换行和行结束符。 |
w | 查找单词字符(包括英文字母,数字,下划线)。 |
W | 查找非单词字符(包括非英文字母,数字,下划线之外的字符)。 |
d | 查找数字。 |
D | 查找非数字字符。 |
s | 查找空白字符。 |
S | 查找非空白字符。 |
匹配单词边界。 | |
B | 匹配非单词边界。 |