0
假設我們有以下字符串:正則表達式匹配數據類型和精度
NUMBER
NUMBER(10)
我需要論文的字符串相匹配的正則表達式表達:
NUMBER => Group(0) = NUMBER
NUMBER(10) => Group(0) = NUMBER, Group(1) = 10
下面的表達式做到這一點,但它對我來說似乎有點難看:
([^[\]]+)\(([^)]+)\)|([^[\]]+)
這被翻譯成21個步驟。 由於我不是一個正則表達式專家,有人能幫助我改進這個表達式以使其更快嗎?
首先要提的是:你的表情有什麼問題?它會返回不正確的匹配嗎?那麼,有沒有靜態字符串的任何部分?括號內是否總是有數字?看看[這裏](https://regex101.com/r/aZ3lZ3/2)。您沒有指定該語言,順便說一句,這很重要。 –
值得注意的另一件事:步驟的數量並不直接表示性能。 –
恩,['(\ w +)(?:\((\ d +))?'](https://regex101.com/r/aZ3lZ3/3)看上去最短。 –