Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有什么方法可以使用正则表达式创建模式,就像这样:一个字母、符号 & 或 |、一个字母(第一个和第二个字母相同)。我知道那个模式
[a-z](\\s*)[&|](\\s*)[a-z]
不要以这种方式工作。如何定义这些字母应该相同?是否可以在正则表达式模式中创建类似别名的东西?
您可以使用这样的反向引用来做到这一点:
([a-zA-Z])\s*[&|]\s*\1
这首先匹配一个字母([a-zA-Z])并将该字母放入捕获组 1 中,然后尝试匹配&或|使用[&|],然后尝试使用 匹配在组 1 中匹配的相同字符\1。
([a-zA-Z])
&
|
[&|]
\1