在Javascript中,我将找到的正则表达式条目存储到JSON数组中。存储的条目包含封装的单引号 - 但我不想要它们。
我检查的字符串如下所示:
{{ 'Foo' | i18n:['bar'] }}
正则表达式如下所示:
('[^'\\]*(?:\\.[^'\\]*)*')
当我希望它返回'foo'
和'bar'
时,会返回foo
和bar
。
我有能力只做一个.replace(/'/g. '');
,但如果有这样的转义单引号就没有帮助:
{{ 'foo\'s' | i18n }}
答案 0 :(得分:1)
使用捕获组捕获以前的charcater,它不能是反斜杠。
.replace(/(^|[^\\])'/g, '$1');
$1
指的是第一组捕获的charcaters。
示例:强>
var s = "{{ 'foo\\'s' | i18n }}"
alert(s.replace(/(^|[^\\])'/g, '$1'))