[英]Regular expression to extract javascript method calls
我已經創建了用於從javascript文件進行翻譯的字符串提取器。 我找到了用作起點的jsgettext項目( 請參閱參考資料)。
它使用reqular表達式在javascript文件中查找對__()
方法的調用。 可以成功找到簡單的調用,但找不到帶有__('string', { a: 'b'})
類的參數的調用。
我試圖修改正則表達式以使方法調用也與參數匹配,但沒有成功(我不是正則表達式專家)。
我的問題是: 如何修改以下正則表達式以匹配這樣的字符串?
// this is catched successfully
// var string = __("Please enter %number% more characters.");
// this is problematic
var string = __("Please enter %number% more characters.", { '%number%' : 2 });
正則表達式:
$keywords = join('|', array('__'));
preg_match_all('# (?:' . $keywords . ') \(\\ *" ( (?: (?>[^"\\\\]++) | \\\\\\\\ | (?<!\\\\)\\\\(?!\\\\) | \\\\" )* ) (?<!\\\\)"\\ *\) #ix', $content, $matches, PREG_SET_ORDER);
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.