|:表示“或”,[ab]和a|b是等价的。
后向引用 /n
对一个正则表达式模式或部分模式两边添加圆括号将导致相关匹配存储到一个临时缓冲区中,所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储。存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。每个缓冲区都可以使用 '/n' 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。
非捕获元字符 '?:', '?=', or '?!' 来忽略对相关匹配的保存。
? | 匹配前面的子表达式零次或一次,或 指明一个 非贪婪 限定符。 |
/g 全局匹配
/i 忽略大小写
/gi 全局匹配+ 忽略大小写
POSIX兼容正则和PERL兼容正则“[]之外”“不一致”的元字符:
. PERL兼容正则匹配除了换行符外的任意一个字符
. POSIX兼容正则匹配任意一个字符
POSIX兼容正则和PERL兼容正则“[]之内”“一致”的元字符:
/ 有数种用途的通用转义符
^ 取反字符,但仅当其为第一个字符时有效
- 指定字符ASCII范围,仔细研究ASCII码,你会发现[W-c]等价于[WXYZ//^_`abc]
POSIX兼容正则和PERL兼容正则“[]之内”“不一致”的元字符:
- POSIX兼容正则中[a-c-e]的指定会抛出错误。
- PERL兼容正则中[a-c-e]的指定等价于[a-e]。
测试 是否 含有此字符串。
String str.match() 如果没有返回null
int str.indexOf() 如果没有会返回0,如果是第一个位置也是返回0
int str.lastLndexOf() 同上