【发布时间】:2014-07-01 11:52:42
【问题描述】:
我正在编写一个迁移实用程序,其中一个转换的一部分是测试一对正则表达式。例如,一些测试将是:
+-------+-------+-------+
| Left | Right | Match |
+-------+-------+-------+
| (.)01 | 101 | Yes |
+-------+-------+-------+
| (.)02 | 101 | No |
+-------+-------+-------+
| 101 | 101 | Yes |
+-------+-------+-------+
| 201 | (.)01 | Yes |
+-------+-------+-------+
| (.)01 | 2(.)1 | Yes |
+-------+-------+-------+
目前,我的测试使用.matches逐个测试,当只有一侧是正则表达式时有效,但当双方都有一个时(即示例的最后一行),它返回false什么时候应该返回 true。
那么,我怎样才能得到最后一个例子的肯定比较结果呢?
【问题讨论】:
-
怎么最后一个返回
Yes应该是No -
因为
Left的第一个字符是wild,而Right的第二个字符是wild -
但最后一个字符不匹配
-
现在说得通了:)
-
为什么
(.)01会匹配2(.)1?例如(.)01匹配901和2(.)1匹配281但901和281非常不同。请更详细地说明您正在努力实现的目标以及您迄今为止所做的尝试。