Java 如何在SQL查询中匹配字符串中的模式?

Java 如何在SQL查询中匹配字符串中的模式?,java,mysql,sql,regex,Java,Mysql,Sql,Regex,嗨,我有一个字符串,它是一列的DB值。“Java(简单)_New=AB_17484_JAVA00” 我想编写一个sql查询来检查字符串是否包含以下内容 _新={Box1}{Box2}{Box3} 框1总是只有两个字符的字母,框2只有7个字符的数字和字母,框3必须匹配JAVA及其后的任何字符..就像JAVA% 如何在sql查询中使用正则表达式实现这一点在您的示例中,框2中有六个字符,而不是七个。 所以我让它符合你的例子。但是如果要匹配七个字符,可以将框2的匹配更改为(\w{7}) 但是下面的正则表

嗨,我有一个字符串,它是一列的DB值。“Java(简单)_New=AB_17484_JAVA00”

我想编写一个sql查询来检查字符串是否包含以下内容

_新={Box1}{Box2}{Box3}

框1总是只有两个字符的字母,框2只有7个字符的数字和字母,框3必须匹配JAVA及其后的任何字符..就像JAVA%


如何在sql查询中使用正则表达式实现这一点在您的示例中,框2中有六个字符,而不是七个。 所以我让它符合你的例子。但是如果要匹配七个字符,可以将框2的匹配更改为
(\w{7})

但是下面的正则表达式与您提供的字符串匹配

_New=([A-Z]{2})_(\w{6})_(JAVA.+)
然后在1-3组中得到匹配框1-3


希望它能帮助您

这是一个与Daniel相似的答案,但我对您的规范有一个稍微不同的解释

_NEW=[a-zA-Z]{2}__[a-zA-Z0-9]{7}(_JAVA).*
此正则表达式与“\u NEW=”

然后是两个大写或小写字母

然后是“_u”,因为需要2个下划线

然后,任何上/下字母或数字7次(如果需要,明显更改为6次)

然后是“JAVA”

然后是任何数量的其他任何东西,包括其他任何东西。Ie:“JAVA”


这是

谢谢Daneil。这对我有用。是否可以在Sql查询中实现同样的功能。实际上,这个文本是数据库中一列的值,我需要匹配正则表达式和文本。如果需要执行sql查询,只需编写一个sql查询,以匹配数据库中需要的值。如果答案对你来说是有效的,我希望你能将我的答案标记为“接受”,谢谢你的回复。在sql查询中有可能做到这一点吗?这是可能的,尽管这超出了这个问题的范围。如果你想让别人看,你可以发布另一个问题。(如果我的回答对您有所帮助,请将其作为公认的答案:)