有人幫我寫正則表達式是以下情況正則表達式提取括號和函數名
- somestring()=>
['somestring']
- somestring()[10] =>
['somestring','',10]
- somestring(」 argString ')=>
['somestring', 'argString']
- somestring(' argString ')[10] =>
['somestring', 'argString',10]
somestring({PROP1:' V1' ,PROP2: 'V2'})=>
['somestring', {prop1:'v1',prop2:'v2'}]
somestring({PROP1: 'V1',PROP2: 'V2'})[100] =>
['somestring', {prop1:'v1',prop2:'v2'},100]
這是我嘗試到目前爲止
var regExp = /\b[^()]+\((.*)\)+\[(.*?)]/;
var matches = regExp.exec('somestring()[10]');
爲什麼你使用regexp來解碼看起來像JS的東西?你打算如何處理結果?你需要像'somestring(foo(bar))',或'somestring(foo [10](bar))',或'somestring(foo(bar)[10])',或'somestring({ prop1:foo(bar)[10]})'? –
@torazaburo paranthesis任何東西都可以在那裏,我唯一的擔心就是隻是獲取內容 – Shafeeque
內的內容在這種情況下,使用正則表達式將會非常困難,因爲regexp不能很好地處理嵌套語法。你能否在我們的問題中增加一個這樣的例子,以便其他人回答測試用例是否有效?一個小小的解析器可能對你更好。 –