1.测试给定的正则表达式是否匹配输入的字符串,这里该正则表达式只使用一次
private String regex ; private String input; @Before public void init(){ regex = "\[{0,1}([u4e00-u9fa5]+)/[A-Za-z]+\]{0,1}[A-Za-z]*";
input = "延安/ns"; }
/** * 测试给定的正则表达式是否匹配输入的字符串, * 这里该正则表达式只使用一次 */ @Test public void test1matches(){ boolean isMacher = Pattern.matches(regex, input); System.out.println(isMacher); }
测试结果: true
2.从匹配的正则表达式对应的字符串中获取匹配的部分内容.如获取匹配表达式中第一个括号中的内容:
String regex = "\[{0,1}([u4e00-u9fa5]+)/[A-Za-z]+\]{0,1}[A-Za-z]*"; string input = "[中国/ns 国务院/nt]nt"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); while(matcher.find()){ //从1开始计数 System.out.println(matcher.group(1)); }
测试结果:
中国
国务院