我在java中有一行String
,如下所示
深渊峰值是4000
有没有什么方法可以检查行中字符串文字的出现,比如检查深度消隐或 daap peek 等模式
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以通过以下两种方式查看:
使用contains
非正则表达方式(如果您不搜索整个单词):
String str = "deep daap daap peek is 4000";
System.out.println("Contains: " + (str.contains("deep") && str.contains("daap")));
正则表达方式(如果 正在搜索整个单词)
String rx = "^(?=.*\\bdeep\\b)(?=.*\\bdaap\\b)";
Pattern ptrn = Pattern.compile(rx);
Matcher m = ptrn.matcher(str);
if (m.find()) {
System.out.println("Regex: true");
}
请参阅IDEONE demo
使用2个锚定前瞻(?=.*\\bdeep\\b)(?=.*\\bdaap\\b)
检查整个单词的存在:每个检查在任意数量的字符后是否存在整个单词(由于\b
)(添加{{1}如果您的输入中有换行符号,则在模式开始处)。检查在字符串的开头就完成了。正则表达式需要这两个单词。