"AAAAAAAABBBBBBB"と "AAAAAAAACCCCCCCCCCC"で検索したいとします。 パターン "(AB | AC)"を検索します。C:正規表現の最適化|状態を保存する
「AAAAAAAA」の部分を検索してから[B ..]と[C ..]の部分を別々に検索した後で、検索の状態を保存する方法はありますか?だから私は[A ..]で一度だけ検索する必要があります。
私は、より明確な短い疑似コードの例を書いています。
ステップ1:
pattern = "(AB|AC)"
match("AAAAAAAA", pattern)
save_state()
ステップ2:
match("BBBBBBB", pattern)
検索マッチ "AB"
ステップ3が必要です。
restore_state()
match("CCCCCCCCCCC", pattern)
見つけなければならない試合「AC "
これは私には意味がありません。彼らは2つの異なる場所で、異なる文字列です。どのように結果を保存すると、他の人を助けるでしょうか? – Oliver
'A(B | C)'または 'A [BC]'を意味しますか? – Gumbo
いいえ、最初のx文字は同じです(A)。それらが非常に大きい場合、私はそれらを一度だけ検索したいと思います。 Aシーケンスの終わりに保存された状態はAとなり、Bと続きます...それはBシーケンスと2回続けて同じものを生成します。 – AkaBkn