嗨,我有一个字符串,它是DB中列的值。 “ Java(简单)_New = AB_U17484_JAVA00”
我想编写一个SQL查询来检查字符串是否在下面
_New = {Box1} __ {Box2} _ {Box3}
Box1始终是仅两个字符的字母,Box 2仅为7个字符,仅是数字和字母,Box 3必须与JAVA及其后的任何字符相匹配。例如JAVA%
如何在sql查询中使用正则表达式实现这一目标
答案 0 :(得分:0)
在您的示例中,box2中有六个字符,而不是七个。
所以我使它符合您的示例。但是,如果您应该匹配七个字符,则可以将框2的匹配项更改为(\w{7})
但是在正则表达式下面,请匹配您提供的字符串。
_New=([A-Z]{2})_(\w{6})_(JAVA.+)
您会在1-3组中找到匹配的框1-3
希望它可以帮助您
答案 1 :(得分:0)
这与丹尼尔(Daniel)的答案类似,但我对您的规格有稍微不同的解释。
_NEW=[a-zA-Z]{2}__[a-zA-Z0-9]{7}(_JAVA).*
此正则表达式与“ _NEW =“,
匹配然后输入2个大写或小写字母
然后是“ __”,因为您需要2个下划线
然后将任何大写/小写字母或数字7次(如果需要,显然更改为6)
然后是“ _JAVA”
那么还有其他任何东西,包括其他任何东西。即:“ _ JAVA”