js-正则表达式

一、基本规则

1.字面量表示法:正则表达式可以使用字面量形式创建,例如 /pattern/,其中 pattern 是要匹配的模式。 

//直接匹配xxx字符
var reg = /abc/

2.构造函数表示法:你也可以使用 RegExp 构造函数来创建一个正则表达式,例如 new RegExp('pattern')

//i 忽略大小写 
//m 匹配多行 
//g 全局匹配 不只匹配第一个,只要有都会匹配出来
var praten = /abc/  
var reg = new RegExp(praten,'gi'); 

3.元字符:正则表达式中的特殊字符称为元字符,包括 ^$.*+?\ 等,它们具有特殊的含义。

^:匹配输入字符串的开始位置。
$:匹配输入字符串的结尾位置。
.:匹配除了换行符之外的任意一个字符。
*:匹配前面的字符或子表达式零次或多次。
+:匹配前面的字符或子表达式一次或多次。
?:匹配前面的字符或子表达式零次或一次。
\:转义字符,可以将普通字符转义为元字符。
[]:字符类,匹配方括号中的任意一个字符。
():分组,可以将多个字符或子表达式组合成一个整体。

4.字符类:使用方括号 [] 来定义一个字符类,如 [abc] 表示匹配 abc 中的任意一个字符。

//不匹配a到z 0到9 A到Z里的任意字符
var reg = /[^a-z0-9A-Z]/
^只有在开头和括号内才有作用 

5.量词:通过量词可以指定匹配的次数,如 * 表示零次或多次,+ 表示一次或多次,? 表示零次或一次。

*:表示匹配前面的模式零次或多次。例如,abc 可以匹配 "ac"、"abc"、"abbc" 等。
+:表示匹配前面的模式一次或多次。例如,ab+c 可以匹配 "abc"、"abbc"、"abbbc" 等。
?:表示匹配前面的模式零次或一次。例如,ab?c 可以匹配 "ac" 或 "abc"。
{n}:表示匹配前面的模式恰好出现 n 次。例如,a{3} 只能匹配 "aaa"。
{n,}:表示匹配前面的模式至少出现 n 次。例如,a{2,} 可以匹配 "aa"、"aaa"、"aaaa" 等。
{n,m}:表示匹配前面的模式出现至少 n 次但不超过 m 次。例如,a{2,4} 可以匹配"aa"、"aaa"、"aaaa"。

6.选择符:使用竖线 | 表示选择符,可以在多个模式中选择一个,如 cat|dog 表示匹配 catdog

7.分组:使用圆括号 () 可以将模式分组,以便对分组内的模式进行操作,如 (ab)+ 表示匹配一个或多个连续的 ab

8.转义字符:使用反斜杠 \ 来转义特殊字符,如 \d 表示匹配数字,\w 表示匹配单词字符。

9.修饰符:在正则表达式末尾可以添加修饰符,如 i 表示不区分大小写,g 表示全局匹配、

m表示多行匹配。

你可能感兴趣的:(前端,正则表达式)