字符组-普通
整个方括号表示一个字符,里面的字符出现一个就可以匹配
元字符在字符组内失效;
-
和
^
在字符组内可能有其他含义;
[^exp]
字符组-排除型字符组
整个方括号表示一个字符,不出现里面的字符就可以匹配
(exp)
分组-普通
整个圆括号内是一个独立部分,匹配内容会被记录
可以通过序号引用
(?:exp)
分组-不被记录的分组
分组不占用序号,不被记录
不能被引用
(?<groupName>exp)
分组-命名分组
分组有序号,同时有名字
可以通过序号或者名字引用
重复限制-贪婪
n或更多次,尽可能得多
{n,m}
重复限制-贪婪
n~m次,尽可能得多
重复限制-贪婪
0~1次,尽可能得多
等价于
{0,1}
重复限制-贪婪
0或更多次,尽可能得多
等价于
{0,}
重复限制-贪婪
1或更多次,尽可能得多
等价于
{1,}
{n,}?
重复限制-懒惰
n或更多次,尽可能得少
{n,m}?
重复限制-懒惰
n~m次,尽可能得少
重复限制-懒惰
0~1次,尽可能得少
等价于
{0,1}
重复限制-懒惰
0或更多次,尽可能得少
等价于
{0,}
重复限制-懒惰
1或更多次,尽可能得少
等价于
{1,}
单词的开始或者结束
(?=exp)
零宽度正预测先行断言
1找到匹配exp的内容
2向前查找特定内容
不返回断言匹配内容
(?<=exp)
零宽度正回顾后发断言
1找到匹配exp的内容
2向后查找特定内容
不返回断言匹配内容
(?!exp)
零宽度负预测先行断言
1找到不匹配exp的内容
2向前查找特定内容
不返回断言匹配内容
(?<!exp)
零宽度负回顾后发断言
1找到不匹配exp的内容
2向后查找特定内容
不返回断言匹配内容
多个表达式中满足一个即达成匹配
注意:此处应该是半角字符
匹配换行之外的单个字符
匹配字母数字下划线之一的单个字符
匹配任意空白的单个字符
匹配数字的单个字符
元字符-匹配位置
匹配单词边界
不返回匹配内容
匹配
\w
之外的单个字符
匹配
\s
之外的单个字符
匹配
\d
之外的单个字符
元字符-匹配位置
匹配
\b
之外的单个字符
不返回匹配内容
元字符-匹配位置
字符串开始
不返回匹配内容
元字符-匹配位置
字符串结束
不返回匹配内容
(exp)
分组中的内容会被当作一个整体
(?:exp)
不被记录的分组
分组但不被记录,不被分配序号
按序号引用分组
在第N个分组之后引用该分组
N从1开始计数
\k<groupName>
按名称引用分组
在groupName分组后,引用它
不区分大小写
从头到尾匹配一遍
允许
.
匹配换行(输入的换行,
\r
或
\n
)
允许
^
和
$
在每一行生效
^
和
$
不再只匹配整个字符串的开头和结尾
识别unicode码位
受到ucs-2编码方式的限制,相关操作方法并不一定准确
从字符串的lastIndex索引处匹配一次
对元字符转义