正則表達式匹配括號外的符號及數據

這篇文章主要介紹了正則表達式匹配括號外的符號及數據,非常不錯,具有一定的參考借鑑價值,需要的朋友可以參考下

正則表達式匹配括號外的符號

[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))

將括號外的?!/.,和空格(連續多個時同時)匹配


 String string1 = "sdfsdf sdlfksd sdf,fsdf&sdf(s:1,g:1) sdfsd sdf! ? . sdfl asdf ";
 String[] str = string1.split("[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))");
 for(String s:str){
  System.out.println(s);
 }

結果:

sdfsdf
sdlfksd
sdf
fsdf&sdf(s:1,g:1)
sdfsd
sdf
sdfl
asdf

下面看下用正則表達式匹配括號外的數據

用正則匹配括號內的數據,這個較容易實現,但是匹配括號外的數據,貌似就比較困難了.例如:

"{controller}/cc/{action}/{id}"

我想得到/cc/,/ 這兩個括號外的數據.

如果是匹配括號內的數據(包括括號),這個可以用這段正則實現

/{[^}]+}/

測試代碼(javascript實現):

"{controller}/cc/{action}/{id}".replace(/{[^}]+}/ g,'-')

但是提取括號外的內容,困難得很啊.不知道哪位可以實現這個需求?

幾個特殊的字符串:

"{controller}/cc/{action}/{id}}"   匹配到空字符串
"{controller}}/cc/{action}/{id}"  匹配到:}/cc/, /

總結

以上所述是小編給大家介紹的正則表達式匹配括號外的符號及數據,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章