正則表達(dá)式匹配括號(hào)外的符號(hào)
[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))
將括號(hào)外的?!/.,和空格(連續(xù)多個(gè)時(shí)同時(shí))匹配
如
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);
}
結(jié)果:
sdfsdf
sdlfksd
sdf
fsdfsdf(s:1,g:1)
sdfsd
sdf
sdfl
asdf
下面看下用正則表達(dá)式匹配括號(hào)外的數(shù)據(jù)
用正則匹配括號(hào)內(nèi)的數(shù)據(jù),這個(gè)較容易實(shí)現(xiàn),但是匹配括號(hào)外的數(shù)據(jù),貌似就比較困難了.例如:
"{controller}/cc/{action}/{id}"
我想得到/cc/,/ 這兩個(gè)括號(hào)外的數(shù)據(jù).
如果是匹配括號(hào)內(nèi)的數(shù)據(jù)(包括括號(hào)),這個(gè)可以用這段正則實(shí)現(xiàn)
/{[^}]+}/
測(cè)試代碼(javascript實(shí)現(xiàn)):
"{controller}/cc/{action}/{id}".replace(/{[^}]+}/ g,'-')
但是提取括號(hào)外的內(nèi)容,困難得很啊.不知道哪位可以實(shí)現(xiàn)這個(gè)需求?
幾個(gè)特殊的字符串:
"{controller}/cc/{action}/{id}}" 匹配到空字符串
"{controller}}/cc/{action}/{id}" 匹配到:}/cc/, /
總結(jié)
以上所述是小編給大家介紹的正則表達(dá)式匹配括號(hào)外的符號(hào)及數(shù)據(jù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
您可能感興趣的文章:- java正則表達(dá)式獲取大括號(hào)小括號(hào)內(nèi)容并判斷數(shù)字和小數(shù)親測(cè)可用
- 正則表達(dá)式中test、exec、match的區(qū)別介紹及括號(hào)的用法
- Python正則表達(dá)式實(shí)現(xiàn)截取成對(duì)括號(hào)的方法
- 使用JS正則表達(dá)式 替換括號(hào),尖括號(hào)等
- 淺談JS正則表達(dá)式的RegExp對(duì)象和括號(hào)的使用
- python正則表達(dá)式中的括號(hào)匹配問(wèn)題
- 正則表達(dá)式(括號(hào))、[中括號(hào)]、{大括號(hào)}的區(qū)別小結(jié)
- php使用正則表達(dá)式提取字符串中尖括號(hào)、小括號(hào)、中括號(hào)、大括號(hào)中的字符串
- JS 正則表達(dá)式中小括號(hào)的應(yīng)用
- 正則表達(dá)式去除中括號(hào)(符號(hào))及里面包含的內(nèi)容