我在SQL Server中遇到了正则表达式问题。
我有这样的查询:
SELECT 1
WHERE '/test/url/1' LIKE '/test/url/%[0-9]'
但是此正则表达式存在问题。
当我输入诸如/test/url/1w1
之类的无效URL时,它返回1,并且正则表达式无法正常工作。
我想验证URL中的任何长度的整数作为:ID
参数。
请为这种情况推荐正确的正则表达式。
答案 0 :(得分:1)
您可以使用:
SELECT 1
WHERE '/test/url/1' LIKE '/test/url/%[0-9]' AND
'/test/url/1' NOT LIKE '/test/url/%[^0-9]%'
这需要在最后一个路径段的开头输入一个整数(0-9),但要避免该段以整数结尾。