如果您需要查找单词或子字符串,一个好的解决方案是使用
正则表达式工具包中的控制运算符。当你需要找到其他东西之后的东西时,它是必不可少的。
简单的例子
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1.从前面搜索
在上面的示例中,如果您需要查找“programming”,但不需要搜索“programming”,则应使用以下模式:
.*программ(?=ируем).*
?= – 在前面搜索单词/单词的一部分;?!– 从前面搜索是否存在单词/单词的一部分。
2.从后面搜索
从后面搜索的工作方式类似。您需要使用 ?<= 搜索其后面的单词/单词的一部分,而 ? .*(?<=programs)we.* 单词“program”与此模式匹配,但单词“polish”则不匹配。
GO TO FULL VERSION