正則表達式匹配括號外的符號
[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))
將括號外的?!/.,和空格(連續多個時同時)匹配
如
String string1 = "sdfsdf sdlfksd sdf,fsdfsdf(s:1,g:1) sdfsd sdf! ? . sdfl asdf ";
String[] str = string1.split("[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))");
for(String s:str){
System.out.println(s);
}
結果:
sdfsdf
sdlfksd
sdf
fsdfsdf(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/, /
總結
以上所述是小編給大家介紹的正則表達式匹配括號外的符號及數據,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
您可能感興趣的文章:- java正則表達式獲取大括號小括號內容并判斷數字和小數親測可用
- 正則表達式中test、exec、match的區別介紹及括號的用法
- Python正則表達式實現截取成對括號的方法
- 使用JS正則表達式 替換括號,尖括號等
- 淺談JS正則表達式的RegExp對象和括號的使用
- python正則表達式中的括號匹配問題
- 正則表達式(括號)、[中括號]、{大括號}的區別小結
- php使用正則表達式提取字符串中尖括號、小括號、中括號、大括號中的字符串
- JS 正則表達式中小括號的應用
- 正則表達式去除中括號(符號)及里面包含的內容