1

なぜ機能しan?|theないのですか?PHP の preg_match() を使用しています。

完全な正規表現は次のとおり"/^an?|the (.+?) (is|was) an? (.+?)$/"です。

"the mona lisa is a painting"と合わせたい"a dog is an animal"

|the最初の文字列の例に対応するために を追加するまで、正常に機能していました。

ありがとう!

4

1 に答える 1

3

あなたがそれを書いた方法は、次のいずれかを使用して一致します

^an?

また

the (.+?) (is|was) an? (.+?)$

これは明らかにあなたが望むものではありません。で行ったのと同じように、括弧で囲む必要がありますis|was

/^(an?|the) (.+?) (is|was) an? (.+?)$/

グループが結果に含まれないようにするには、構文が である一致しないグループを使用します(?: )。したがって、次のように使用してください。

/^(?:an?|the) (.+?) (is|was) an? (.+?)$/
于 2012-07-03T08:53:41.560 に答える