我正在尝试实现一个以一系列数字(美国社会保障号)作为参数的功能,并返回一个与输入匹配的SSN集合,只有一个偏差。
因此,输入123456789将返回:
但不会返回123 54 6789等
我在ASP.NET中有一个系统,它使用通配符对输入进行模式匹配,例如123 ** 6789。所以我可以使用循环来适应这一点。但是如果有一个正则表达式,我会在SQL中实现它并完成它。
那么,是否有一个正则表达式可以做到这一点,而不必在for循环中调用它?
答案 0 :(得分:2)
不幸的是,我不是正则表达式的专家,但我认为您可以使用简单的正则表达式来检查测试值和输入值之间的减法的绝对值。可接受的结果应该是1位数和0或更多尾随零。对于您的示例值:
Testing value Input value ABS(Subtraction)
--------------+--------------+------------------
123356789 123456789 100000
193456789 123456789 70000000
123450789 123456789 6000
123456786 123456789 3