1

まあ、私はそれを動作させましたが、どういうわけかそれは遅くて非効率的に見えます(またはそうでないかもしれません)。

私が持っているのは文字のシーケンスです。簡単にするために、それは

123456789

私がやりたいのは、入力が同じ方法で始まり、同じシーケンスにあることを確認することですが、完全なシーケンスである必要はありません。

私が持っているのはこれです:

^1(2(3(4(5(6(7(8(9)?)?)?)?)?)?)?)?

これはかなり恐ろしいように見えますが、これを行うためのより良い方法はありますか?

編集元のコードにあったものを追加しました^が、ここに含めるのを忘れました。

4

1 に答える 1

1

?数量詞はスペアパーツのようなものです。それがなくても正常に動作するエンジンについて考えてみてください。可能であれば、それを吸い込もうとします。

確かにx?x?x?x?x?かなり悪いようです。しかし、それを取り巻く何らかの文脈で使用されない限り、それはほとんど無意味です。

グループ化が単にオプションを示すためのものであると仮定すると、これを使用して最後の内部グループを除外することができます1(2(3(4(5(6(7(89?)?)?)?)?)?)?)?

例:

1(2(3(4(5(6(7(8(9)?)?)?)?)?)?)?)?これにグローバルに一致します

9876543211111111111111112121211112121121212312111複数回。

だから、そのすべての相対。

于 2012-05-14T17:26:17.137 に答える