正則表達式匹配括號外的符號及數(shù)據(jù)
正則表達式匹配括號外的符號
[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))
將括號外的?!/.,和空格(連續(xù)多個時同時)匹配
如
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);
}
結(jié)果:
sdfsdf
sdlfksd
sdf
fsdf&sdf(s:1,g:1)
sdfsd
sdf
sdfl
asdf
下面看下用正則表達式匹配括號外的數(shù)據(jù)
用正則匹配括號內(nèi)的數(shù)據(jù),這個較容易實現(xiàn),但是匹配括號外的數(shù)據(jù),貌似就比較困難了.例如:
"{controller}/cc/{action}/{id}"
我想得到/cc/,/ 這兩個括號外的數(shù)據(jù).
如果是匹配括號內(nèi)的數(shù)據(jù)(包括括號),這個可以用這段正則實現(xiàn)
/{[^}]+}/
測試代碼(javascript實現(xiàn)):
"{controller}/cc/{action}/{id}".replace(/{[^}]+}/ g,'-')
但是提取括號外的內(nèi)容,困難得很啊.不知道哪位可以實現(xiàn)這個需求?
幾個特殊的字符串:
"{controller}/cc/{action}/{id}}" 匹配到空字符串
"{controller}}/cc/{action}/{id}" 匹配到:}/cc/, /
總結(jié)
以上所述是小編給大家介紹的正則表達式匹配括號外的符號及數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
正則文法與正則表達式的相互轉(zhuǎn)化問題(編譯原理)
這篇文章主要介紹了正則文法與正則表達式的相互轉(zhuǎn)化問題(編譯原理),?除了正則文法外,正則表達式也可以相應(yīng)的用來描述單詞,正則文法和正則表達式的能力相同,且可以互相轉(zhuǎn)化,本文給大家介紹的非常詳細,需要的朋友可以參考下2023-08-08
PHP preg match正則表達式函數(shù)的操作實例
在php中preg_match()函數(shù)是用來執(zhí)行正則表達式的一個常用的函數(shù)。本文給大家介紹PHP preg match正則表達式函數(shù)的操作實例,需要的朋友參考下2016-04-04
正則表達式:過濾<font>和</font>
正則表達式:過濾<font>和</font>...2007-04-04

