正则表达式或运算符

时间:2013-04-03 00:51:58

标签: regex

我在使用或运算符

时遇到了类似问题

我想找

[a-zA-Z]+

其次是

\-[a-zA-Z]?

\'[a-zA-Z]?

基本上抓住任何一个词,所以我可以省略: 空格,\t\n\n\r等。我也理解\w会很好用,但我不希望像9-10这样的内容结果,我纯粹是在寻找文字。

我得到(thing|thing2)是or的语法,但它只是捕获整个单词,然后作为第二个匹配,收缩和连字符的后半部分。 非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用字符类:

[a-zA-Z]+[-\'][a-zA-Z]+

或者,如果您真的想使用or运算符,则可以使用非捕获组(?:)

[a-zA-Z]+(?:-|\')[a-zA-Z]+