![]() |
1
44
编程不好很少是工具的故障。这是开发人员不理解该工具的错误。对我来说,这就像说木匠不应该拥有螺丝刀,因为他可能会在钉子更合适的地方使用螺丝刀。 |
![]() |
2
10
就我个人而言,我看到像RegexBuddy和免费 Regex Coach 主要是作为学习工具。当然,有时它们可以帮助调试或理解现有正则表达式,但一般来说,如果您使用工具编写正则表达式,那么维护它将非常困难。
|
![]() |
3
4
您应该鼓励使用使开发人员更高效的工具。话虽如此,确保他们使用
正当
工作的工具。您需要教育所有团队成员何时适合使用正则表达式,以及何时使用正则表达式
|
![]() |
4
4
是的,它们可能会变得混乱和模糊,就像其他人可能编写的任何代码一样,但它们比代码有一个优势:它们以正式指定的方式(如果有扩展,至少通过您的语言)表示您感兴趣的字符串集。理解一段代码接受哪一组字符串需要对代码进行“反向工程”。
我更喜欢维护单行正则表达式代码,而不是试图捕获一组字符串的复杂手工函数。
|
![]() |
5
1
正则表达式测试工具是非常宝贵的。我一直在用它们。我的工作甚至不是特别重正则表达式,所以在我建立知识库的过程中,有一个程序来指导我克服细微差别是至关重要的。 |
![]() |
6
1
Zawinski的评论,虽然令人愉快地油嘴滑舌,但基本上是无知的表现,而编写正则表达式并不是编码的全部,所以我不必担心这些引用。无论如何,没有人能把一场争论的全部变成一句话。 如果您遇到一个正则表达式,它太复杂了,即使有注释也无法理解,那么对于这个特定的问题,正则表达式可能不是一个好的解决方案,但这并不意味着它们没有用处。我敢打赌,如果你故意避开它们,你的代码库中会有很多行代码,一个简单的正则表达式也可以完成同样的工作。 Regexbuddy是一个有用的快捷方式,可以确保您正在编写的正则表达式满足您的期望-它当然会让生活更轻松,但对于您的问题,我认为重要的是使用它们。 |
![]() |
7
1
正如其他人所说,我认为使用或不使用这种工具是一个中立的问题。更重要的是:如果正则表达式非常复杂,需要内联注释,那么它就太复杂了。我从不评论我的regexp。我将大型或复杂的匹配问题分解为几个匹配步骤,或者使用多个匹配语句(=~),或者使用子regexp构建regexp。 话虽如此,我认为任何称职的开发人员都应该相当精通正则表达式的编写和阅读。我已经使用正则表达式很多年了,从来没有遇到过需要编写或阅读非常复杂的正则表达式的时候。但是一个中等大小的正则表达式可能是进行验证或匹配的最优雅、最简洁的方法,不应该仅仅因为一个没有经验的开发人员可能读不懂正则表达式而回避正则表达式——最好是教育那个开发人员。 |
![]() |
8
1
应该 不要担心整个“2个问题”的引用;这似乎是Perl(1997年说)而不是regex上的一次爆炸。 |
![]() |
9
0
一个正则表达式工具完全有可能为我节省一些时间来实现我所知道的正则表达式功能,但我对此表示怀疑。。。我可以很快地输入,如果你能很好地理解语法(使用正则表达式惯用的文本编辑器真的很有帮助——我使用gVim),大多数正则表达式其实并不那么复杂。我认为学习一项技术比学习一根拐杖更能为您提供更好的服务,除非该工具可以输入简单的信息并输出大量样板代码。 |
![]() |
10
0
好吧,听起来解决这个问题的办法是让一些聪明人引入一个正则表达式工具,在匹配时对自己进行注释。这就意味着 工具的问题不在于工具理解的内容与程序员理解的内容之间是否存在巨大差距。 因此,文档可以有所帮助。 这是一个真正的小例子,是下面这样的表(只是一个建议)
然而,如果他们只是想调试RE,以确保它按照他们认为的方式运行,那么它与编写需要调试的代码没有太大区别。 这是相对的。 |
![]() |
11
0
|
![]() |
DotFX · RegEx捕获关键字前但括号后的所有内容 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 7 月前 |
![]() |
iato · 确保正则表达式不从命名材料中的数字中提取 7 月前 |
![]() |
vr8ce · 非成对标记中特定字符的正则表达式 7 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 7 月前 |
![]() |
Carsten · 使用最近的搜索模式更改文本块 7 月前 |