假设我们有两个正则表达式,它们不同但实际上意思相同,例如:
XX[0-9]{1,5}:.*
XX[0-9]{1,5}: .*
唯一的区别是之前的空格。*有没有办法检查这些模式是否得到相同的匹配?
答案 0 :(得分:2)
编写正则表达式的方法有很多种,可以有效地匹配同一组字符串。
示例强>
以下3个正则表达式匹配相同的字符串集。这可以任意扩展。
[A-Z]{3}
[A-Z][A-Z]{2}
[A-Z][A-Z][A-Z]
<强>更新强>
我做了一些研究,发现了paper,描述了如何实现这样的程序。我找不到任何现成的样品。
答案 1 :(得分:0)
你的例子中的两个正则表达式实际上并不意味着同样的事情。
您可以使用http://regexhero.net/tester/轻松在线查看正则表达式的匹配项。专业版的分析功能可能有助于手动比较正则表达式。
如果您有一个有限的testdata子集,您可以编写一个测试工具来检查所有数据并显示不一致。否则,也许在技术上有一种方法可以证明它们给出了相同的结果,但是它太复杂了,只是将一个简单的程序放在一起就可以了。
如果你解释为什么需要这个,也许我们可以帮助更多