正则表达式提取引号内的文本

时间:2015-07-28 18:13:11

标签: regex

在Javascript中,我将找到的正则表达式条目存储到JSON数组中。存储的条目包含封装的单引号 - 但我不想要它们。

我检查的字符串如下所示:

{{ 'Foo' | i18n:['bar'] }}

正则表达式如下所示:

('[^'\\]*(?:\\.[^'\\]*)*')

当我希望它返回'foo''bar'时,会返回foobar

我有能力只做一个.replace(/'/g. '');,但如果有这样的转义单引号就没有帮助:

{{ 'foo\'s' | i18n }}

1 个答案:

答案 0 :(得分:1)

使用捕获组捕获以前的charcater,它不能是反斜杠。

.replace(/(^|[^\\])'/g, '$1');

$1指的是第一组捕获的charcaters。

示例:



var s = "{{ 'foo\\'s' | i18n }}"
alert(s.replace(/(^|[^\\])'/g, '$1'))