在两个字符之间查找大写字

时间:2014-11-07 21:09:38

标签: regex

试图找到之间的单词。和=,它们是大写的(可选并且在它们之间包含下划线),如UPPER_CASE

String myString = "test.UPPER_CASE=#123456"; //Should pass

if(myString.matches(".*\\.[A-Z]=")) {
    System.out.println("Match");
} else {
    System.out.println("No Match");
}

2 个答案:

答案 0 :(得分:1)

你真的很接近,你只是忘了匹配下划线并添加量词:

\.[A-Z_]+=

要从Java中使用它,您可以这样做:

myString.matches(".*?\\.[A-Z_]+=.*")

与开始时.*?和最后.*的模式相同,因为matches函数需要模式匹配整个输入字符串。我想有一个更好的API可用于获得子串匹配,但我自己不会使用Java。

答案 1 :(得分:0)

.*\\.[A-Z_]+=

这应该为你做。