1
嗯,我得到它的工作,但不知何故,它看起來很慢,效率低(或可能不)。有效匹配必須是序列的可選字符
我所得到的是字符序列,爲簡單起見,讓我們只說這是
123456789
我想要做的就是確保輸入開始以同樣的方式,並且是在同序列,但不需要是完整的序列。
我有什麼是這樣的:
^1(2(3(4(5(6(7(8(9)?)?)?)?)?)?)?)?
這看起來很可怕,但有一個更好的方式來做到這一點?
編輯新增的^
這是在原來的代碼,我忘了,包括在這裏。
哎呀,我忘了在原始問題中使用的正則表達式的開頭添加'^',以確保它匹配字符串的開頭。 所以我假設有這麼多嵌套'((?)?)在這種情況下可以嗎? – Shaw
這應該是好的。請記住,()是一個捕獲緩衝區,而(?:)用於聚類子表達式。一些引擎可能對可用捕獲緩衝區的數量有限制。我看着Perl,並沒有看到對嵌套分組的限制。我認爲這個級別與堆棧有關。 Perl對遞歸級別有一個編譯限制。認爲它大約是50.這可能是相關的,但我不確定。 – sln