我不是在正则表达式的专家,有一个正则表达式如何优化此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