0

or 演算子にちょっと厄介な問題があります

探したい

[a-zA-Z]+

に続く

\-[a-zA-Z]?

また

\'[a-zA-Z]?

基本的に任意の単語を取得するので、スペース、、\tなどを省略できます。使用するのが良いことも理解していますが、結果として、純粋に単語を探しているようなものは望んでいません。\n\n\r\w9-10

これは or の構文だと思います(thing|thing2)が、単語全体をキャプチャしてから、2 番目の一致として、短縮形とハイフンでつながれた単語の後半部分をキャプチャします。どんな助けでも大歓迎です、ありがとう。

4

1 に答える 1

2

これには文字クラスを使用できます。

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

または、本当にオペレーターを使用したい場合はor、非キャプチャ グループを使用できます(?:)

[a-zA-Z]+(?:-|\')[a-zA-Z]+
于 2013-04-03T00:56:08.033 に答える