我将正则表达式与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/