![](/img/trans.png)
[英]replace square bracket & curly brackets to round brackets in javascript or jquery
[英]Javascript: Split string with withespace unless it is enclosed in round brackets, single quotation mark or square bracket
我的方法: https : //regex101.com/r/vyKG1j/1
[\s]+(?!([^[]*])|([^\(]*\)))
不幸的是,這與封裝括號 ex: (ab (cd)) 存在問題,我無法實現撇號搜索。
示例: "ab (a (ab)) [abcd] 'test string' (ab)"
期望結果: ["a", "b", "(a (ab))", "[abcd]", "'test string'", "(ab)"]
如果它也能處理這樣的事情就最好了。
示例: "ab abcd(ab)"
期望結果: ["a", "b", "abcd(ab)"]
正則表達式是最好的方法嗎?
問自己是否可以通過正則表達式解決的問題是 - Can I draw a finite automata (state machine) for this problem
。 請記住,自動機沒有任何存儲功能。
現在讓我們看看您的示例中具有嵌套結構的子字符串: (a (ab))
您如何為這種情況編寫generic
有限自動機? generic
我的意思是,自動機如何remember
一個左括號出現多少次符合特定模式的匹配右括號?
這就是為什么不能單獨使用just
則表達式來解析這個字符串模式的原因。
特別是對於這個問題,因為它非常簡單,我只會遍歷字符串,保留一個堆棧來跟蹤括號和引號字符以自己解析它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.