java - 如何使用正则表达式检查多个字符串之间的特定字符串?
问题描述
我有以下字符串:
(...)
<TEST NAME="KBC1" ID="0034" PRA="RUNNING DOG" />
<TEST NAME="KBC2" ID="0264" PRB="STANDING CAT" />
<TEST NAME="KBC1" ID="4632" TEM="HAPPY DOG" />
<TEST NAME="KBC6" ID="4492" LST="FLYING BIRD" />
(...)
仅当NAME="KBC1"和 TEM="(..)" 包含单词 HAPPY时,程序才应检查单词 DOG 。第三行也是如此。它部分适用于以下模式:
Pattern p1 = Pattern.compile("<TEST NAME="KBC1"(.*)\/>");
如何在不创建两个模式的情况下包含检查 TEM="(...)" 是否包含单词“DOG”的案例?
解决方案
我希望这个基本代码能解决你的查询。
String input="<TEST NAME=\"KBC1\" ID=\"4632\" TEM=\"HAPPY DOG\" />";
String regex = "^(?=.*\\bTEST NAME\\b)(?=.*\\bKBC1\\b)(?=.*\\bTEM\\b)(?=.*\\bHAPPY\\b)(?=.*\\bDOG\\b).*$";
if(Pattern.matches(regex, input)) {
System.out.println("match");
}else {
System.out.println("unmatch");
}
推荐阅读
- excel - 如何根据 Excel 中的 ID 列复制和同步表?
- excel - “this”表上的单元格具有“that”表上的单元格的单元格地址。我正在尝试更改“那个”表上单元格的内容
- javascript - 有没有办法从 CSS 框架中“捆绑”规则,这样我就可以干掉我的 HTML,而无需使用 SASS 或 JS 模板?
- r - 过滤不需要的结果的 base64 正则表达式
- vuejs2 - axios.put 请求后如何发送回父组件?
- python - 在python中堆叠来自不同系列的三个条形图
- php - 单击时从数据库中更改图片?
- python - Picking data for Bokeh HoverTool output from ColumnDataSource
- c# - web api的反序列化
- python - 如何使用 win32com 客户端将标题设置为 powerpoint 幻灯片