作者mrbigmouth (大嘴先生)
看板RegExp
标题[问题] 找出js程式码中的特定函式字串参数
时间Mon Feb 2 14:55:17 2015
使用语言为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://webptt.com/cn.aspx?n=bbs/RegExp/M.1422860119.A.321.html