文章目录
- 力荐的一个在线正则表达式测试工具网
- 元字符
- 重复
- 重复元字符`*`
- 重复元字符` +`
- 重复字符 `?`
- 统一:重复限定符 {m,n}
- 从开头匹配:'^'
- 多行:/m
- 行末匹配:
- 对一整行的字符进行严格匹配:^"regex"$
力荐的一个在线正则表达式测试工具网
https://regexr-cn.com/
更多的例子,可以在该站的参考手册上查看/测试
元字符
14个元字符:
. ^ $ * + ? { } [ ] \ | ( )
重复
能够匹配不同的字符集合是正则表达式可以做的第一件事,这对于字符串可用方法来说是不可能的。
但是,如果这是正则表达式的唯一额外功能,那么它们就不会有太大的优势。
另一个功能是你可以指定正则的某些部分必须重复一定次数。
重复元字符*
* 与字面字符 '*' 不匹配;相反,它指定前一个字符可以匹配零次或多次,而不是恰好一次。
重复元字符+
它匹配一次或多次。 要特别注意 * 和 + 之间的区别;* 匹配 零次 或更多次,因此重复的任何东西都可能根本不存在,而 + 至少需要 一次。 使用类似的例子,ca+t 将匹配 ‘cat’ (1 个 ‘a’),‘caaat’ (3 个 ‘a’),但不会匹配 ‘ct’。
重复字符 ?
匹配一次或零次;你可以把它想象成是可选的。
例如,home-?brew 匹配 ‘homebrew’ 或 ‘home-brew’。
统一:重复限定符 {m,n}
其中 m 和 n 是十进制整数。 这个限定符意味着必须至少重复 m 次,最多重复 n 次。
例如,a/{1,3}b 将匹配 ‘a/b’ ,‘a//b’ 和 ‘a///b’ 。
它不匹配没有斜线的 ‘ab’,或者有四个的 ‘ab’。
其他三个限定符都可以用这种表示法表达。 {0,} 与 * 相同, {1,} 相当于 + , {0,1} 和 ? 相同。 最好使用 * , + 或 ? ,只要因为它们更短更容易阅读。
从开头匹配:’^’
将整个文本视为一个字符串(将换行符\n视为普通字符)
多行:/m
行末匹配:
对一整行的字符进行严格匹配:^“regex”$