我想找到字符串中的以下模式:正則表達式模式不工作
"{xxxxx$ppp>5}&&{xxxxx.ppp==5}"
我用正則表達式:
"[{a-z$.a-z==><0-9}||&&{a-z$.a-z==><0-9}]"
但在這種情況下,字符"&&"
不包括在字符串。有人可以告訴正則表達式模式有什麼問題
我想找到字符串中的以下模式:正則表達式模式不工作
"{xxxxx$ppp>5}&&{xxxxx.ppp==5}"
我用正則表達式:
"[{a-z$.a-z==><0-9}||&&{a-z$.a-z==><0-9}]"
但在這種情況下,字符"&&"
不包括在字符串。有人可以告訴正則表達式模式有什麼問題
試試這個正則表達式:
// prints true
System.out.println("{xxxxx$ppp>5}&&{xxxxx.ppp==5}"
.matches("\\{[a-z]+\\$[a-z]+>[0-9]\\}&&\\{[a-z]+\\.[a-z]+==[0-9]\\}"));
編輯:(響應低於OP的評論)
String input = "{xxxxx$ppp>5}&&{xxxxx.ppp==5}";
Matcher matcher = Pattern.compile("\\{[a-z0-9]+[$.][a-z0-9]+[><=]=?[0-9]\\}")
.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group()); // {xxxxx$ppp>5}
} // {xxxxx.ppp==5}
\\{[a-zA-Z]+\\$[a-zA-Z]+>5}&&{[0-9]+\\.[a-zA-Z]+==[0-9]+\\}
從看你以前的question,我假設你想要xxx和ppp是任何字母字符串,而5是任何數字字符串。
我在線程「main」java.util.regex.PatternSyntaxException中發生以下異常異常:非法重複 {[a-zA-Z] + \ $ [a-zA-Z] +> 5}(&&){{ [0-9] + \。[a-zA-Z] + == [0-9] +} \t at java.util.regex.Pattern.error(Unknown Source) \t at java.util.regex。 Pattern.closure(來源不明) \t在java.util.regex.Pattern.sequence(來源不明) \t在java.util.regex.Pattern.expr(來源不明) \t在java.util.regex.Pattern中。編譯(未知源代碼) – Phalguni
忘記逃離{},我的壞。 – Robadob
嘿它仍然會拋出異常。我自己找到了解決方案。正確的正則表達式是「[{a-zA-Z $ .a-zA-Z ==><0-9} \\ && {a-zA-Z $ .a-zA-Z ==><0-9 }]「 – Phalguni
請通過一些[正則表達式(HTTP:// WWW。 regular-expressions.info/tutorial.html)[教程](http://regexone.com/) –
你想找到確切的模式? – Robadob
{xxxxx \\ $ ppp> 5}(&&)?{xxxxx \\。ppp == 5} 匹配字符串「{xxxxx $ ppp> 5} && {xxxxx.ppp == 5}」和「{ xxxxx $ ppp> 5} {xxxxx.ppp == 5}「 – Robadob