使用JAVA进行WordXml解析。
现在我要检查(F(1) = 44)
这种类型的模式是否会在段落中出现。
注意:打开关闭内部必须有整数值。
Folloing模式我需要检查。
(text text (text) text)
(F(1) = 44)
(text text [text] text)
[text text (text) text]
但是,显然不知道如何在senarios之上制作正则表达式。
所以,请建议我。任何人都请告诉我。
答案 0 :(得分:1)
您可以使用此正则表达式\([a-zA-Z]+\(\d+\)\s*=\s*\d+\)
,这意味着
[a-zA-Z]+
\(\d+\)
\s*
=
\s*
\d+
\([a-zA-Z]+\(\d+\)\s*=\s*\d+\)
使用这样的模式:
String[] texts = new String[]{"(text text (text) text)",
"(F(1) = 44)",
"(text text [text] text)",
"[text text (text) text]"};
String regex = "\\([a-zA-Z]*\\(\\d+\\)\\s*=\\s*\\d+\\)";
for (String s : texts) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
System.out.println("There are match " + matcher.group());
} else {
System.out.println("No match occurred");
}
}
<强>输出强>
No match occurred
There are match (F(1) = 44)
No match occurred
No match occurred