我有一个关于or运算符的小问题
我想找的是
[a-zA-Z]+
紧接着是
\-[a-zA-Z]?
或
\'[a-zA-Z]?
本质上是抓取任何单词,所以我可以省略: spaces,\t
,\n
,\n\r
等等。我也知道\w
会很好用,但我不想要像9-10
这样的东西,因此我纯粹是在寻找单词。
我知道(thing|thing2)
是or的语法,但它只是捕获了整个单词,然后作为第二个匹配,后面的部分是缩写和连字符的单词。任何帮助都非常感谢,谢谢。
发布于 2013-04-03 08:56:08
您可以使用character类来执行以下操作:
[a-zA-Z]+[-\'][a-zA-Z]+
或者,如果您确实想使用or
运算符,则可以只使用非捕获组(?:)
[a-zA-Z]+(?:-|\')[a-zA-Z]+
https://stackoverflow.com/questions/15777058
复制相似问题