我有以下正则表达式字符串
{{t\s+(?:\"((?:[^\\\\\"\\\\]|\\\\.)*)\"|'(?:[^'\\\\]|\\\\.)*')?([^}]*)}}
成功获取了一个把手字符串{{t "Some key"}}
并创建了一个输出
{"Some key": ""}
使用命令
i18next index.handlebars -p "{{t\s+(?:\"((?:[^\\\\\"\\\\]|\\\\.)*)\"|'(?:[^'\\\\]|\\\\.)*')?([^}]*)}}" --locales en,zh --output ../locales
现在我也希望能够使用相同的输出解析像t('某些键')这样的javascript函数。我知道这个正则表达式字符串是
[^a-zA-Z0-9_](?:t)(?:\\(|\\s)\\s*(?:(?:\'((?:(?:\\\\\')?[^\']+)+[^\\\\])\')|(?:"((?:(?:\\\\")?[^"]+)+[^\\\\])"))/g
但是当我尝试将两个正则表达式字符串放在由管道分隔的括号中时,我得到一个关于意外括号的错误 -
i18next index.handlebars -p "(?:{{t\s+(?:\"((?:[^\\\\\"\\\\]|\\\\.)*)\"|'(?:[^'\\\\]|\\\\.)*')?([^}]*)}})|(?:[^a-zA-Z0-9_](?:t)(?:\\(|\\s)\\s*(?:(?:\'((?:(?:\\\\\')?[^\']+)+[^\\\\])\')|(?:"((?:(?:\\\\")?[^"]+)+[^\\\\])"))/g)" --locales en,zh --output ../locales