我已經寫了下面的正則表達式,這樣,這個正則表達式將不匹配輸入;它正在工作,但循環運行無限的時間。如何解決這個問題正則表達式檢查運行無限時間
String originalRegex ="(?s)\\00|\\+ADw-|\\+AD4-|%[0-9a-f]{2}|System[.][a-z]|javascript\\s*:|>(?:\".*|^'.*|[^a-z]'.*|'[^a-z].*|')[-+\\*/%=&|^~\"']|\\?.*<:|\\(\\s*[a-z]{2,}\\.[a-z]{2,}.*\\)";
String xmlData = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><configuration xmlns=\"http://www.example.com/api/2.2\" timestamp=\"str111\" version=\"2.2\"><domain account=\"4af17966-c841-4b97-a94a-edd7a0769\" /></configuration>";
String freetext = ">(?:\".*|^'.*|[^a-z]'.*|'[^a-z].*|')[-+\\*/%=&|^~\"']|\\?.*<:";
final Pattern PATTERN_1 = Pattern.compile(freetext);
Matcher matcher = PATTERN_1.matcher(xmlData);
while (!matcher.find()) {
System.out.println("Good Job");
}
哪種語言?如果提到這一點,原因可能很明顯,因爲有人可以查找'.find()'方法的文檔。 –
這是用Java編寫的 –
你不應該使用正則表達式來解析XML。 – christopher