/** * ?=用法 * 正则表达式测试(输出:匹配shelly 匹配shells) * 由此我们可以看出?=在正则表达式中的用法,其代表着向前(从字符的左边到右边)匹配, * 而且?=后边紧跟着的内容是必须匹配的内容哦。例如这里的shalls就不会被匹配 * */ private static void testRegExp(){ String str = "shelly shalls seashells"; Pattern pattern = Pattern.compile("sh(?=e)(//w*)"); Matcher matcher = pattern.matcher(str); while(matcher.find()){ System.out.println("匹配"+matcher.group()); } } /** * ?!用法 * 正则表达式测试(输出:匹配shalls 匹配shoses) * 由此我们可以看出?!在正则表达式中的用法,其代表着向前(从字符的左边到右边)匹配, * 而且?!后边紧跟着的内容是必须不能匹配的内容哦。例如这里的shelly就不会被匹配 * */ private static void testRegExp2(){ String str = "shelly shalls seashells shoses"; Pattern pattern = Pattern.compile("sh(?!e)(//w*)"); Matcher matcher = pattern.matcher(str); while(matcher.find()){ System.out.println("匹配"+matcher.group()); } }