4000式のいずれかをマッチ(および削除)しようとしています。Pythonの正規表現は、代替の順序を指定しませんスピードの選択/選択肢間の選択
私はフロントで最も一般的な試合を置く場合はその速度マッチング(または、それが定義されていない)
一般的に排他的なものの、私は時々、デフォルトのケースを持っている:「斧* |(0-9)|」つまり「a」ですが、可能であれば、貪欲な試合が欲しいです。 'a(0-9)| ax *'を並べ替えるだけで十分ですか?これは仕様で保証されていませんか?
4000式のいずれかをマッチ(および削除)しようとしています。Pythonの正規表現は、代替の順序を指定しませんスピードの選択/選択肢間の選択
私はフロントで最も一般的な試合を置く場合はその速度マッチング(または、それが定義されていない)
一般的に排他的なものの、私は時々、デフォルトのケースを持っている:「斧* |(0-9)|」つまり「a」ですが、可能であれば、貪欲な試合が欲しいです。 'a(0-9)| ax *'を並べ替えるだけで十分ですか?これは仕様で保証されていませんか?
選択肢の順序は、選択肢の間で選択/スピードのために重要ですか?
はい、それはありません。代替グループは左から右に分析され、入力ストリングの各位置で発生します。
したがって、最も一般的なマッチを最初に置くことは、すでにブーストです。
(パイソンのように)NFA正規表現では約非固定交替リストを話すとき、同じ場所に一致させることができます選択肢がそうでないので最長は最初が来るように注文することが重要です短い代替は常に「勝利」し、some|someone
とのマッチング時に、あなたはxxxone
で終わる可能性があります - someone
からxxx
を取得したい>xxx
。
これを記録する参考資料はありますか? – seanv507
[ここのメインページ](http://www.regular-expressions.info/alternation.html):*正規表現エンジンは熱心です。 * –
票がなくなり、昨日質問をアップアップすることができませんでした。 –