我的 Groovy 正则表达式有什么问题?



我的代码:

String myRegex = "*cow"
String name = "SHIRACOWPEPPER"
name = name.toLowerCase()
if(!name || name.matches(myRegex)) {
    return true
}

当我运行这个时,我得到一个PatternSyntaxException: Dangling meta character '*' near index 0 *cow ^错误。想法吗?

*是一个元字符,它表示您之前匹配的东西的'零次或多次',但在这种情况下没有任何东西可以匹配。这应该可以工作:

String myRegex = ".*cow"
String name = "SHIRACOWPEPPER"
name = name.toLowerCase()
if(!name || name.matches(myRegex)) {
    return true
}

有关详细信息,请参阅文档

你可能想说的是String myRegex = ".*cow",意思是在cow之前的任何数字字符,即后缀

最新更新