您好,登錄后才能下訂單哦!
這篇文章主要介紹了正則表達式如何匹配括號外的符號及數據,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
正則表達式匹配括號外的符號
[\\?!/\\.,\\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/, /
感謝你能夠認真閱讀完這篇文章,希望小編分享的“正則表達式如何匹配括號外的符號及數據”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。