我有一個字符串,其中包含一些值,如下所示。我想用一些新文本替換包含特定customerId的html img標籤。我想這是不是給我的期望output.here是節目信息小型的Java程序爲什麼這個正則表達式沒有給出預期的輸出?
我輸入的字符串
String inputText = "Starting here.. <img src=\"getCustomers.do?custCode=2&customerId=3334¶m1=123/></p>"
+ "<p>someText</p><img src=\"getCustomers.do?custCode=2&customerId=3340¶m2=456/> ..Ending here";
正則表達式是
String regex = "(?s)\\<img.*?customerId=3340.*?>";
新的文本,我想把裏面輸入串
編輯啓動:
String newText = "<img src=\"getCustomerNew.do\">";
編輯完:
我現在做
String outputText = inputText.replaceAll(regex, newText);
輸出
Starting here.. Replacing Text ..Ending here
但我預計產量
Starting here.. <img src=\"getCustomers.do?custCode=2&customerId=3334¶m1=123/></p><p>someText</p>Replacing Text ..Ending here
請注意在我的預期輸出中,只有包含customerId = 3340的img標籤被替換文本替換。我沒有得到爲什麼在輸出我得到這兩個img標籤獲得replced?
你解析與正則表達式,只是從未工程完全的HTML(這是一般不是你regexing技能正則表達式的限制) –
你使用的是錯誤的tool..use HTML解析器 – Anirudha
@ Some1.Kill.The.DJ你能幫我一下,我怎樣才能得到像jsoup這樣的html解析器的預期結果? –