Javascript 正则表达式匹配在特定标题下包含特定单词的句子
示例文本: JAVA 100程序员 使用101一元运算符 世界各地 .NET 200银光是最好的 获取应用程序的方法 201 Windows应用程序Javascript 正则表达式匹配在特定标题下包含特定单词的句子,javascript,java,regex,regex-negation,regex-group,Javascript,Java,Regex,Regex Negation,Regex Group,示例文本: JAVA 100程序员 使用101一元运算符 世界各地 .NET 200银光是最好的 获取应用程序的方法 201 Windows应用程序 当我给程序输入时 “JAVA”和“101”。这应该是真的。因为,101出现在-JAVA标题下 但是,当我以 “JAVA”和“200”。应该说是假的。因为,200不在JAVA标题下 以下是使用的正则表达式: String code = "JAVA"; String string = "100 Programmer" Pattern pattern
当我给程序输入时 “JAVA”和“101”。这应该是真的。因为,101出现在-JAVA标题下 但是,当我以 “JAVA”和“200”。应该说是假的。因为,200不在JAVA标题下 以下是使用的正则表达式:
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;
}
有人能给这个正则表达式吗?你应该声明你是如何编码标题和每个标题下的值的? 我想答案是从这一点开始的,你是如何对标题进行分组的。 如果将每个标题下的值存储在字符串中,则此正则表达式应能正常工作:
String JavaHeader = "100 Programmer";
boolean exists = JavaHeader.matches("100.*")
你的“示例文本”是什么格式?如何定义标题?您是否希望只将“JAVA”与“101”或“100”匹配,而将“.NET”与“200”或“201”匹配?您对此有多了解?到目前为止,请发布您的代码,包括您自己的正则表达式。到目前为止您尝试了什么?@jacobbourtjes是的,所以当我以“JAVA”和101的形式输入时。这意味着101属于这个标题。