java在createCriteria方法中搜索包含正则表达式的字符串
我将Grails用于我的web应用程序项目。我知道createCriteria方法可以对数据库中的现有条目执行搜索。假设我有一个域“some\u domain”,其中包含一个字符串变量“domain\u string”。我想找出所有包含以“1”或“7”开头的7位或10位数字的“域_字符串”。(例如,域_string1=“……1234567……”,域2=“..7192839265…”,等)
在我的代码中:
some_domain.createCriteria().list() {
rlike("domain_string", "%/^(1|7){7,10}/%")
}
我在这里使用了java正则表达式,grails文档告诉我rlike用于正则表达式输入。但我无法通过代码获得确切的输出,因为我不熟悉groovy语法。有什么建议吗?先谢谢你
# 1 楼答案
你可以用
见regex demo
详细信息:
([^0-9]|^)
-非数字字符或字符串开头[17]
-1
或7
[0-9]{6}
-任意六位数字([0-9]{3})?
-三位数字的可选出现([^0-9]|$)
-非数字字符或字符串结尾李># 2 楼答案
java本机规则的Groovy正则表达式如下所示:
印刷品:
您应该检查您的DB SQL方言是否可以按原样使用这些表达式