我正在尝试创建一些通用代码以简化正则表达式的使用,并考虑如何实现OR函数.
标题非常准确(ex1,ex2,ex3是任何正则表达式).不考虑分组,有什么区别:
"(ex1)|(ex2)|(ex3)"
Run Code Online (Sandbox Code Playgroud)
和
"[(ex1)(ex2)(ex3)]"
Run Code Online (Sandbox Code Playgroud)
这两者都应该是命名的正则表达式之间的关系,我可能会遗漏一些东西.一个人比另一个人更有效率吗?
(ex1)|(ex2)|(ex3)匹配ex1(在第1组中可用),ex2(在第2组中可用)或ex3(在第3组中可用)

[(ex1)(ex2)(ex3)]比赛(,e,x,1,2,3或者)

(ex1)|(ex2)|(ex3)
Run Code Online (Sandbox Code Playgroud)
在这里你正在捕获ex1,ex2并且ex3。
这里:
[(ex1)(ex2)(ex3)]
Run Code Online (Sandbox Code Playgroud)
(and)被引用并按原样处理,因为它们包含在[and ](字符类)中,它匹配(, ), e, x, 1,2和3。
请注意,它相当于(顺序并不重要):
[ex123)(]
Run Code Online (Sandbox Code Playgroud)
关于字符集的重要说明:
插入符号 (^) 和连字符 (-) 可以按原样包含在内。如果要包含连字符,则应将其放在字符类的最开头。如果您想将插入符号作为字符集的一部分进行匹配,则不应将其作为第一个字符:
[^]x]匹配任何不 匹配的]内容,或者x[]^x]]^x[a-z]a匹配从到z匹配[-az]的所有字母-,a并且z| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |