在()(括号)中包含正则表达式的一部分与在[](方括号)中执行它之间有什么区别?
这是怎么回事
[a-z0-9]
Run Code Online (Sandbox Code Playgroud)
与此不同:
(a-z0-9)
Run Code Online (Sandbox Code Playgroud)
?
Jef*_*ert 44
[]表示一个字符类.()表示捕获组.
[a-z0-9]- 一个在a-zOR 范围内的字符0-9
(a-z0-9)- 明确捕获a-z0-9.没有范围.
a- 可以被捕获[a-z0-9].
a-z0-9- 可以被捕获(a-z0-9),然后可以在表达式中替换和/或稍后引用.
Jar*_*Par 12
[]正则表达式中的构造基本上是|对所有内容的简写.例如[abc]匹配a,b或c.此外,-角色在一个内部具有特殊意义[].它提供了范围构造.正则表达式[a-z]将匹配任何字母a到z.
该()结构是一个分组构造建立优先顺序(也有访问匹配子影响,但是这是更高级主题的位).正则表达式(abc)将匹配字符串"abc".
[a-z0-9]将匹配任何小写字母或数字.(a-z0-9)将匹配确切的字符串,"a-z0-9"并允许另外两件事:您可以将修饰符*和?和+整数组一起应用于整个组,并且您可以在匹配后使用$1或引用此匹配\1.但是,对你的例子没用.
| 归档时间: |
|
| 查看次数: |
47574 次 |
| 最近记录: |