正则表达式匹配在特定标题下包含特定单词的句子

时间:2018-07-09 14:55:33

标签: javascript java regex regex-negation regex-group

示例文字:

JAVA

100位程序员

101使用一元运算符     世界各地。

.NET

200银光最好     获取申请的方式

201个Windows应用程序


当我输入程序 “ JAVA”和“ 101”。它应该与真实匹配。因为,在JAVA标题下有101个。

但是,当我输入为 “ JAVA”和“ 200”。应该说是错误的。由于“ JAVA”标题下不存在200。

这是使用的正则表达式:

String code = "JAVA";
String string = "100 Programmer"

Pattern pattern = Pattern.compile("" + 
escapeString(code) + "((?![\\t][A-Z\\s ]).)*" + escapeString(string) + "", Pattern.DOTALL);

Matcher matcher = pattern.matcher(doc);

boolean isFound = matcher.find();
System.out.println(isFound);


String escapeString(String string) {
String escaped = null;
if (null !== string) {
   escaped = Pattern.quote(string);
}
return escaped;
}

有人可以为此提供正则表达式吗?

1 个答案:

答案 0 :(得分:0)

您应该声明如何编码标题和每个标题下的值? 我认为答案从这一点开始,您是如何对标题进行分组的。 如果您将值存储在字符串中的每个标题下,则此正则表达式应正确运行:

= () => {};