[問題] 找出js程式碼中的特定函式字串參數

看板RegExp (正規表示式 Regular Expression)作者 (大嘴先生)時間10年前 (2015/02/02 14:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
使用語言為Javascript 環境為瀏覽器 目標為在一串"合法的"Javascript檔案中尋找特定函式的呼叫 並取出其中塞入的字串參數 舉例而言 當js程式裡存在i18n("123") 我要可以抓出[123] 目前的簡單作法是 i18n\((?:\s*)?\"([^\"\r])*\"(?:\s*)\) 但是問題來了 這種作法抓不到i18n("你好,\"王大明\"先生") 但這對於Javascript是合法的程式碼,而且也是常常出現的情形 所以有辦法做到讓Regexp做到以下的match動作嗎? i18n("你好,王大明先生") match 抓出[你好,王大明先生] i18n("你好,"王大明"先生") not match i18n("你好,\"王大明\"先生") match 抓出[你好,"王大明"先生] i18n("你好,\\"王大明\\"先生") not match i18n("你好,\\\"王大明\\\"先生") match 抓出[你好,\"王大明\"先生] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.162.20 ※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1422860119.A.321.html
文章代碼(AID): #1KpnzNCX (RegExp)
文章代碼(AID): #1KpnzNCX (RegExp)