1. 匹配任意字符
基本格式([A-Z])\w+
匹配随意一个字符串str
匹配“王XX”王..
.:匹配除断行外任意一个字符,\.匹配“.”这一个字符
转义符\
2. 匹配字母和数字
\w:匹配字母、数字、下划线
\W:匹配被\w排除的东西(\w的补集)
3. 匹配数字
\d:匹配阿拉伯数字
\D: 匹配非阿拉伯数字(\d的补集)
4. 匹配空白字符
\s:匹配空白字符:空格、制表符、断行等
\S(\s的补集)
5. 字符集合
[abc]只匹配abc这三个字符(不包含大写)
[a-z] 匹配从a到z的字符
用Unicode匹配中文字符
(graphemica网站:输入Unicode字符显示中文字符)
[选择范围] 匹配括号中的任意一个字符
6. 重复
[范围]+重复一次或多次
e.g: [yY][oO]+匹配yo,Yo,yooo,YO等字符串
[范围]*重复零次或多次
[范围]?重复零个或一个
指定重复范围
{a,b}匹配重复范围在a到b次
{a,b}\b只匹配重复范围在a到b次的字符串,超过的就不匹配了
\b边界
{a}匹配重复a次的字符串(不到a次的不会匹配到
{a,}匹配重复范围为a次以上
7. 分组匹配
(.+)(.+)
$1表示第一组,以此类推
abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置。
[^abc]匹配除abc外的所有字符
[\s\S]
匹配所有。\s 是匹配所有空白符,包括换行,\S 非空白符,包括换行。
特别字符
| $ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n’ 或 ‘\r’。要匹配 $ 字符本身,请使用 $。 |
|---|---|
| ( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。 |
| * | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。 |
| + | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。 |
| . | 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。 |
| [ | 标记一个中括号表达式的开始。要匹配 [,请使用 [。 |
| ? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。 |
| \ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。’\n’ 匹配换行符。序列 ‘\‘ 匹配 “",而 ‘(‘ 则匹配 “(“。 |
| ^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 ^。 |
| { | 标记限定符表达式的开始。要匹配 {,请使用 {。 |
| | | 指明两项之间的一个选择。要匹配 |,请使用 |。 |
修饰符
| 修饰符 | 含义 | 描述 |
|---|---|---|
| i | ignore - 不区分大小写 | 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。 |
| g | global - 全局匹配 | 查找所有的匹配项。 |
| m | multi line - 多行匹配 | 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。 |
| s | 特殊字符圆点 . 中包含换行符 \n | 默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n。 |
1 | var str="Google runoob taobao runoob"; |
示例
| 正则表达式 | 描述 |
|---|---|
| /\b([a-z]+) \1\b/gi | 一个单词连续出现的位置。 |
| /(\w+)://([^/:]+)(:\d*)?([^# ]*)/ | 将一个URL解析为协议、域、端口及相对路径。 |
| /^(?:Chapter|Section) [1-9][0-9]{0,1}$/ | 定位章节的位置。 |
| /[-a-z]/ | a至z共26个字母再加一个-号。 |
| /ter\b/ | 可匹配chapter,而不能匹配terminal。 |
| /\Bapt/ | 可匹配chapter,而不能匹配aptitude。 |
| /Windows(?=95 |98 |NT )/ | 可匹配Windows95或Windows98或WindowsNT,当找到一个匹配后,从Windows后面开始进行下一次的检索匹配。 |
| /^\s*$/ | 匹配空行。 |
| /\d{2}-\d{5}/ | 验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。 |
| /<\s*(\S+)(\s[^>])?>[\s\S]<\s*/\1\s*>/ | 匹配 HTML 标记。 |