私は各グループの間で0〜2文字を許可したい (this is)?.??.??(an)?.??.??(example sentence)
正規表現。下の文字列の太字のテキストと一致する必要があります。
間違いなくアン 例文
間違いなく これは例文です
何か何か 例文
さて、最初の例では、マッチは ah. example sentence
。私は2つの疑問符を "。"正規表現エンジンは0文字にマッチすることを好むでしょう。
私はMS WordのVBA内で正規表現を使用しています。 CreateObject("vbscript.regexp")
私が理解しているように、VBScriptの正規表現フレーバを使用しています。これは、JavaScriptのフレーバと同じであることがわかります。
回答:
回答№1の場合は3検索時
0020002101
〜すべき2.??.??.??101
好きではない2101
に20002101
?
正規表現egineは何も好きではありません。それは左から右に一致します。一度 2
(最初の 2
)それは後続のサブパターンとのマッチングを開始し、マッチが見つかるとそれが返されます。
あなたの場合、あなたは .{0,2}
オプションのグループの内部,
(this is.{0,2})?(an.{0,2})?(example sentence)
^^^^^^ ^^^^^^
を参照してください 正規表現のデモ.
オプションの文字列の順序が重要な場合は、それらをネストします。
(this is.{0,2}(an.{0,2})?)?(example sentence)
見る 別の正規表現のデモ。この正規表現は一致します an
それ以降は0〜2文字で this is
その前に0〜2文字の文字列があります。