我收到一条Javascript缩小错误说:
(9,8617-8631): run-time error JS5017: Syntax error in regular expression: /\<br>(.*?)/ig
(9,8757-8776): run-time error JS5017: Syntax error in regular expression: /\<p>(.*?)\<\/p>/ig
出现这些问题的javascript是:
$htmlPattern = [
/\<br>(.*?)/ig,
/\<br\/>(.*?)/ig
];
$htmlReplace = [
'<p>$1</p>',
'<p>$1</p>'
];
...和...
$htmlContent = $htmlContent.replace(/\<p>(.*?)\<\/p>/ig, '<div>$1</div>');
任何人都可以看到注意到正则表达式的问题是什么吗?
谢谢,Mark
答案 0 :(得分:3)
如果您真的想在这些表达式中使用第一个反斜杠,则必须对它们进行转义:
$htmlPattern = [
/\\<br>(.*?)/ig,
/\\<br\/>(.*?)/ig
];
除非那是试图逃脱<
,否则这是不必要的。在这种情况下,只需删除反斜杠:
$htmlPattern = [
/<br>(.*?)/ig,
/<br\/>(.*?)/ig
];