今天我收到老板发来的一封电子邮件,说要修改我们客户网站上的java脚本代码中的正则表达式。
[a-zA-Z0-9]+[a-zA-Z0-9_\.\-]至
[a-zA-Z0-9]+[a-zA-Z0-9_\-\.]因为我们的一个客户抱怨这不是正则表达式的最佳实践,这会导致他们的CMS和数据库出现问题。
看看这两个正则表达式,在我看来,它们匹配的是完全相同的东西。
这个。最后是交换的,但这不会有什么不同。应该是这样吗?
我是不是遗漏了什么?
我们客户所在公司的开发人员非常坚决地要求我们修改它。
有没有人能说点什么?
谢谢!
发布于 2012-04-27 07:51:55
没有功能上的区别。
如果该正则表达式有任何问题,那么它就是一个非标准/有buggy的实现。我建议找出问题的确切原因。
虽然我认为没有理由改变它,但我也没有理由不改变它,所以随你所愿。
提示:我猜regex写错了。如果我知道它是什么意思,我会写下它:
[a-zA-Z0-9]+[_\.\-]?发布于 2012-04-27 07:39:35
如果在字符组中使用-,它将排在最后,否则它表示一个字符范围,如A-Z。如果你想逃避它,就像你一样,那么它可以在任何地方。
也有可能-或他们使用的其他代码不转义正则表达式,所以在这种情况下,如果CMS不是组中的最后一个字符,它将抛出错误。我想说,在正则表达式中尽可能少的转义字符可以使其更容易阅读,但这是从个人角度来看的。
https://stackoverflow.com/questions/10342879
复制相似问题