我確認下在C#中使用正則表達式的字符串:性能和正則表達式的可讀性,使用提前正面看
[/ 1/2 /]
[/ 1/2 /] [/ 3/4/5 /]
[/ 1 /333分之22/]; [/ 1 /]; [/ 9999 /]
基本上它是一個或多個基團由分號分隔的方括號(但不在最後)。每個組由一個或多個數字組成,並用斜線分隔。沒有其他字符允許。
這是兩個備選方案:
^(\[\/(\d+\/)+\](;(?=\[)|$))+$
^(\[\/(\d+\/)+\];)*(\[\/(\d+\/)+\])$
第一個版本使用了積極的向前看,第二個版本複製模式的一部分。
這兩個RegEx-es似乎都沒問題,做他們應該做的事,不太好看。 ;)
有沒有人有更好,更快,更容易閱讀解決方案的想法?當我在regex101玩耍時,我意識到第二個版本使用更多的步驟,爲什麼?
與此同時,我意識到計算C#-RegEx中使用的步驟會很好。有什麼辦法可以做到這一點?
RegEx如何易於閱讀? :) –
這是一個易讀的正則表達式:'\ d +'。 –