2017-12-15 5 views
0

"疑問符は、正規表現エンジンに2つの選択肢を与えます:疑問符が適用される部分に一致するか、それとも一致させようとしないかを指定しますエンジンは常にその部分にマッチしようとします。失敗すると、エンジンは疑問符が適用される部分を無視しようとします。正規表現の前に "?"式が失敗する可能性がありますか?

これはここからである - "?" の前の部分にマッチする方法https://www.regular-expressions.info/optional.html

正規表現コードのどの例でも、 "正規表現全体が失敗する"ことがありますか?

最初に一致するかどうかを確認します。それは一致する、大丈夫 - それは一緒に行くだろう。それは一致しません、それは一緒に行きます。しかし、それが一致すると、式全体が失敗する可能性があります。そのような状況の例を考え出す方法はありますか?

答えて

1

は、文字列AAAと一致するシンプルな正規表現

A?A 

を考えてみましょう。あなたはこの正規表現にAAを渡すと

A?は最初Aに一致し、第二Aは最後Aと一致します。

あなたはそれに単一Aを渡し、A?は再びAと一致したが、その後、最終的なA

正規表現エンジンがA?の一致を維持する正規表現が失敗する原因となることを認識し、再度試みると一致するように、何もしていますA?は何も一致しません。今回はAが最後のAのために利用可能なので、式は "バックトラッキング"の後で成功します。

関連する問題