Regex 正则表达式或运算符

Regex 正则表达式或运算符,regex,Regex,我和or运算符有点不对劲 我想找 [a-zA-Z]+ 接 \-[a-zA-Z]? 或 基本上抓住任何单词,这样我就可以省去: 空格、\t、\n、\n\r等等。我也知道\w会很好地使用,但我不想要像9-10这样的东西。因此,我只是在寻找文字 我知道,(thing | thing2)是or的语法,但它只是捕获整个单词,然后作为第二个匹配,收缩和连字号的后面部分。 非常感谢您的帮助。您可以使用角色类来实现此目的: [a-zA-Z]+[-\'][a-zA-Z]+ 或者,如果您确实想使用或操作符,您

我和or运算符有点不对劲

我想找

[a-zA-Z]+

\-[a-zA-Z]?

基本上抓住任何单词,这样我就可以省去: 空格、
\t
\n
\n\r
等等。我也知道
\w
会很好地使用,但我不想要像
9-10
这样的东西。因此,我只是在寻找文字

我知道,
(thing | thing2)
是or的语法,但它只是捕获整个单词,然后作为第二个匹配,收缩和连字号的后面部分。
非常感谢您的帮助。

您可以使用角色类来实现此目的:

[a-zA-Z]+[-\'][a-zA-Z]+
或者,如果您确实想使用
操作符,您可以只使用非捕获组
(?:)


那么你的问题是什么?你想抓住整个单词吗?(另外,您的连字号regex只捕获连字符后面的第一个字母?)我得到了:([a-zA-Z]+(?:\-?[a-zA-Z]+| \'?[a-zA-Z]*))
[a-zA-Z]+[-\'][a-zA-Z]+
[a-zA-Z]+(?:-|\')[a-zA-Z]+