如何在 java 中匹配正则表达式

How to match regex in java

我想要这样的模式:GJ-16-RS-1234 我已经应用了以下模式,但它们不起作用。

我的正则表达式模式是:

String str_tempPattern = "(^[A-Z]{2})\-([0-9]{2})\-([A-Z]{1,2})\-([0-9]{1,4}$)";

String str_tempPattern = "(^[A-Z]{2})-([0-9]{1,2})-([A-Z]{1,2})-([0-9]{1,4})$";

String str_tempPattern = "^[A-Z]{2}\-[0-9]{1,2}\-[A-Z]{1,2}\-[0-9]{1,4}$";

我正在使用文本观察器检查 aftertextchange()

中的任何更改
Pattern p = Pattern.compile(str_tempPattern, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher m = p.matcher(s);

    if (m.find()){

    }

只需使用 matches 方法设置条件即可。

if (string.matches("[A-Z]{2}\-[0-9]{1,2}\-[A-Z]{1,2}\-[0-9]{1,4}")) 
{
        // Yes it matches
}
else
{
       // No it won't
}