regex - 正则表达式使用正则表达式查找子字符串

标签 regex grails groovy

我将正则表达式与Groovy(Grails)一起使用以找到仅包含大写字母,下划线和数字的组合的子字符串。

正则表达式

"THIS_WORD" ==~ /([A-Z_0-9]*)/

返回true(
但以下声明
def str = "Wlkjjf alkjdfas Wk;ljdfs fk THIS_WORD dsklafjf kjd".findAll{([A-Z_0-9]*)/}
println str

返回[W, W, T, H, I, S, _, W, O, R, D]
我只需要单词THIS_WORD而不是重复两次的字母W。
我在这里想念什么?

最佳答案

也许您可以使用{2,}而不是*来获得所有超过1个字符的匹配项:

def str = "Wlkjjf als Wk;lfs fk THIS_WORD dsjf kjd".findAll(/[A-Z_0-9]{2,}/)

关于regex - 正则表达式使用正则表达式查找子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285029/

相关文章:

grails - 每秒HTTP 500响应

groovy - 小于 Groovy case/switch 语句

grails - Groovy脚本-未完成Logback配置的行为

java - java语言中的模式

regex - Perl 正则表达式匹配 perl 正则表达式文字

java - Java 中的正则表达式仅匹配 .css 方法签名中出现的逗号

javascript - 在 Grails 中使用导出功能时将生成的文件保存到本地磁盘

python - 如何让 Regex 删除冗余并再次调用自身?

html - 如何获取 Angular 的grails数组

Jenkins:在全局函数体内获取环境变量