正则表达式是描述字符模式的对象。
JavaScript RegExp 类表示正则表达式,String和 RegExp 定义使用正则表达式在文本上执行强大的模式匹配和搜索和替换功能的方法。
A正则表达式可以使用 RegExp()构造函数定义,如下所示 :
var pattern = new RegExp(pattern, attributes); 或简单地 var pattern = /pattern/;
以下是参数说明 :
模式 : 一个字符串,指定正则表达式或另一个正则表达式的模式。
属性 : 一个可选字符串,包含分别指定全局,不区分大小写和多行匹配的任何"g","i"和"m"属性。
Brackets([])在正则表达式的上下文中使用时具有特殊含义。它们用于查找一系列字符。
Sr.No。 | 表达式&说明 |
---|---|
1 | [...] 括号内任意一个字符。 |
2 | [^ ...] 任何一个不在括号之间的字符。 |
3 | [0-9] 它匹配0到9之间的任何十进制数字。 |
4 | [a-z] 它匹配任何字符,从小写 a 到小写 z 。 |
5 | [A-Z] 它匹配任何字符,从大写 A 到大写 Z 。 |
6 | [a-Z] 它匹配任何字符,从小写 a 到大写 Z 。 |
上面显示的范围是一般的;您还可以使用范围[0-3]匹配范围从0到3的任何十进制数字,或范围[bv]匹配任何小写字符,范围从 b 到 v 。
括号中的字符序列和单个字符的频率或位置可以用特殊字符表示。每个特殊字符都有特定的含义。 +,*,?和$标志都遵循一个字符序列。
$ b序列的字符串$ b
Sr.No。 | Expression&说明 |
---|---|
1 | p + 它匹配任何包含一个或多个p的字符串。 |
2 | p * 它匹配任何字符串包含零个或多个p。 |
3 | p? 它匹配任何包含最多一个p的字符串。 |
4 | p {N} 它匹配任何包含 N p |
5 | p {2,3} 它匹配任何包含两个或三个p序列的字符串。 |
6 | p {2,} 它匹配任何包含至少两个p序列的字符串。 |
7 | p $ 它匹配任何字符串,其末尾有p。 |
8 | ^ p 它匹配任何字符串,在其开头有p。 |
以下示例详细介绍了匹配字符。
Sr.No。 | 表达式&说明 |
---|---|
1 | [^ a-zA-Z] 它匹配任何不包含任何字符的字符串,范围从 a 到 z 和 A 到Z。 |
2 | p.p 它匹配任何包含 p,后跟任何字符串的字符串字符,然后是另一个 p 。 |
3 | ^.{2} $ 它匹配任何包含两个字符的字符串。 |
4 | <b>(.*)</b> 它匹配< b>中包含的任何字符串和</b>。 |
5 | p(hp)* 它匹配任何包含 p 后跟零个或多个实例的字符串序列 hp 。 |
Sr.No。 | 字符&说明 |
---|---|
1 | 字母数字 本身 |
2 | \0 NUL字符(\ u0000) |
3 | \ t 标签(\ uu99 |
4 | \n 换行符(\ u000A) |
5 | \v 垂直标签(\ u000B) |
6 | \f 表单Feed (\ u00C) |
7 | \r 回车(\ u000D) |
8 | \xnn 由十六进制数nn指定的拉丁字符;例如,\ x0A与\ n 相同 |
9 | \uxxxx 由十六进制数xxxx指定的Unicode字符;例如,\ u0009与\t 相同 |
10 | \cX 控制字符^ X;例如,\ cJ相当于换行符\ n |
元字符只是一个字母字符,前面有反斜杠,用于赋予组合特殊含义。
例如,您可以搜索大笔金额使用'\d'元字符的货币:/([\d] +)000/,这里 \d 将搜索任何数字字符串。
下表列出了一组可在PERL样式正则表达式中使用的元字符。
Sr.No。 | 人物与性格说明 |
---|---|
1 | . 单个字符 |
2 | \s 空格字符(空格,制表符,换行符) |
3 | \S 非空格字符 |
4 | \d 一个数字(0 -9) |
5 | \D 非数字 |
6 | \w a字符(az,AZ,0-9,_) |
7 | \W 非单词字符 |
8 | [\b] 文字退格(特例)。 |
9 | [aeiou] 匹配给定集合中的单个字符 |
10 | [^aeiou] 匹配给定集合之外的单个字符 |
11 | (foo|bar|baz) 匹配指定的任何替代方案 |
有几种修饰符可以简化你使用 regexps的方式,如区分大小写,多行搜索等。
Sr.No。 | 修饰符&说明 |
---|---|
1 | i 执行不区分大小写的匹配。 |
2 | m 指定字符串是否有换行符或载体返回字符,^和$运算符现在将匹配换行边界,而不是字符串边界 |
3 | g 执行全局匹配,即查找所有匹配项比第一场比赛后停止。 |
以下是与RegExp及其描述相关的属性列表。
Sr.No。 | Property&说明 |
---|---|
1 | constructor 指定创建对象原型的函数。 |
2 | global 指定是否设置"g"修饰符。 |
3 | ignoreCase 指定是否"i"修饰符已设置。 |
4 | lastIndex 开始下一场比赛的索引。 |
5 | multiline 指定是否设置"m"修饰符。 |
6 | source 模式的文本。 |
在以下部分中,我们将举几个例子来演示RegExp属性的用法。
这是一个列表与RegExp相关的方法及其描述。
Sr.No。 | 方法&说明 |
---|---|
1 | exec() 在字符串参数中搜索匹配项。 |
2 | test() 在字符串参数中测试匹配。 |
3 | toSource() 返回表示指定对象的对象文字;您可以使用此值来创建新对象。 |
4 | toString() 返回表示指定对象的字符串。 |
在以下部分中,我们将举几个例子来演示RegExp方法的用法。