我不是在正則表達式的專家,有一個正則表達式如何優化此C#正則表達式? 「^ S([ - *] | [。] d +)? S +」
^\s?([-*]|\d+[.])\s+
我不知道是否有人有大約縮短思路/優化/簡化上述正則表達式?
我不是在正則表達式的專家,有一個正則表達式如何優化此C#正則表達式? 「^ S([ - *] | [。] d +)? S +」
^\s?([-*]|\d+[.])\s+
我不知道是否有人有大約縮短思路/優化/簡化上述正則表達式?
您可以通過書面形式保存一個整個字符(耶!):
^\s?([-*]|\d+\.)\s+
除此之外沒有太多在這裏做。如果你不需要交替的內容,你可以讓該組非獲取,也許通過寫
^\s?(?:[-*]|\d+\.)\s+
剃一個或兩個納秒關閉,但是這是非常可能過早的優化,你可以在最極端的形式做。另外,你需要更多的字符...
EGADS!通過刪除方括號來查找1個字符的節省+1;呵呵 – 2010-10-26 16:24:02
隨着正則表達式的推出,這個簡潔而又簡單。它是否像你期望的那樣工作?如果是這樣,請保持獨立。
哦,好的謝謝。我只是想知道我是否可以簡化該正則表達式,使其更易於理解,無論是對於我還是其他人在未來看到它 – 2010-10-26 04:44:47
正則表達式是您在編程時會發現的最少「可讀」構造之一,IMO。他們看起來很奇怪,特別是當你對他們不太流利的時候:P – 2010-10-26 04:46:09
+1也許甚至是優化一個正則表達式的想法是沒有什麼偏差的? – 2010-10-26 05:03:56
爲什麼要優化它?正則表達式的內容已經由非冗餘原子組成。你不能簡化這個更多...
+1使用「原子」一詞。我喜歡這個詞,適當地使用。不要問我爲什麼! (哦,並得到正確的答案!) – 2010-10-26 04:47:10
vim文檔中的「atom」這個詞來自模式。我沒有發明它:) – Benoit 2010-10-26 05:00:23
哦,是的,我知道;那就是我的意思。 :)大多數情況下,我遲遲沒有上牀睡覺,竄過護理熊! – 2010-10-26 05:05:33
請問這是Perl嗎? – Benoit 2010-10-26 04:40:35
@Benoit,不,我打算在C#中使用它# – 2010-10-26 04:43:28