【发布时间】:2014-09-23 11:25:25
【问题描述】:
我正在尝试使用自定义正则表达式(也使用默认 i18n.t 函数)从 html 文件中解析“data-i18n”属性:
i18next modules/ -o lang/ -r '[^a-zA-Z0-9](?:(?:t)|(?:i18n\\.t)|(?:data-i18n))(?:\\(|\\s|=)\\s*(?:(?:\'((?:(?:\\\\\')?[^\']+)+[^\\\\])\')|(?:"((?:(?:\\\\")?[^"]+)+[^\\\\])"))'
解析器可以在这里找到: https://github.com/karellm/i18next-parser
文档中的命令:
i18next /path/to/file/or/dir -r "(.*)"
该正则表达式已经在 regexpal 和 debuggex 上进行了测试,它匹配了正确的标签:
[^a-zA-Z0-9](?:(?:t)|(?:i18n\.t)|(?:data-i18n))(?:\(|\s|=)\s*(?:(?:'((?:(?:\\')?[^']+)+[^\\])')|(?:"((?:(?:\\")?[^"]+)+[^\\])"))
我尝试以各种形式转义正则表达式字符串,但它不起作用。 怎么做才合适?
【问题讨论】:
标签: javascript regex node.js i18next