当前位置: 代码迷 >> J2SE >> 正则匹配中文的有关问题
  详细解决方案

正则匹配中文的有关问题

热度:122   发布时间:2016-04-23 19:47:09.0
正则匹配中文的问题
我想用正则表达式匹配中文字符串。比如说下面的代码中,我想写这样一个正则表达式:如果被测试字符串中含有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)
------解决思路----------------------
(万事达卡).*";
  相关解决方案