我制作了一个有效的正则表达式,但我认为这不是最好的用例:
el = '<div style="color:red">123</div>';
el.replace(/(<div.*>)(\d+)(<\/div>)/g, '$1<b>$2</b>$3');
// expecting result: <div style="color:red"><b>123</b></div>
谷歌搜索后,我发现(?: ... )
在正则表达式中 - 意味着忽略组匹配,因此:
el.replace(/(?:<div.*>)(\d+)(?:<\/div>)/g, '<b>$1</b>');
// returns <b>123</b>
但我需要第一个示例的预期结果。
有没有办法排除他们?只是为了写replace(/.../, '<b>$1</b>')
?
这只是了解如何在正则表达式中排除组的一个小例子。我知道,我们不能用正则表达式解析 HTML :)