我想用正则表达式匹配中文字符串。比如说下面的代码中,我想写这样一个正则表达式:如果被测试字符串中含有MasterCard或万事达卡,则成功匹配。否则匹配不成功。
但我下面的代码执行结果却是匹配。请问这是怎么回事?正确的该如何写?
@Test
public void test4(){
String str = "贷记卡";
String pattern = ".*[MasterCard|万事达卡].*";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(str);
if(m.matches()){
System.out.println("matched");
} else {
System.out.println("not matched.");
}
}
------解决思路----------------------
String pattern = ".*(MasterCard)
------解决思路----------------------
(万事达卡).*";