看板 C_Sharp 關於我們 聯絡資訊
因為需要解析javascript程式碼"函式定義"的內容, 所以直接想到用正規式擷取. 想問一下如何用正規式定義函式的pattern, 目前卡在大括號{}上面. 因為function裡面有if for while也會有自己的大括號. 如果pattern是定成"function...\{[\s\S]*\}"會變成抓出1~13行的內容.. 但我只需要1~8與12~13行的內容就好, 請問這是否有解, 謝謝. 1.. function methodA() 2.. { 3.. var a=''; 4.. if(0==0){...} 5.. for(i=0;i<=10;i++){...} 6.. while(0==0){...} 7.. methodB(); 8.. } 9.. 10. methodA(); 11. 12. function methodB() 13. {...} -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.3.154 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1490167212.A.FFE.html
IKAFIRE: 抓成對括號可以用個counter,看到前括號++,後掛號-- 03/22 18:17
IKAFIRE: counter大於0時就是括號中的內容 03/22 18:18
MickPlaYer: 可以用Parser做 像是lex yacc之類的 03/22 23:44