我有一个正则表达式和一个包含此正则表达式的一些匹配项的字符串。我的正则表达式处理所有这些匹配,就像它只是一个大匹配(当然我不想要这样的行为),让我给你看一个例子:
我的测试字符串(抱歉乱写,但这没关系):
sdfsd -dsf- sdfsdfssdfsfdsfsd -sdfsdf-
我在 js 代码中的正则表达式:
view.replace(/(\-(.+)\-)/g, '<span style="background-color:yellow">$1</span>');
我的结果:
sdfsd<span style="background-color:yellow">-dsf- sdfsdfssdfsfdsfsd -sdfsdf-</span>
如您所见,“-”中的每个字符串都必须包含在跨度中,但只有一个跨度。我该如何解决这个问题?(老实说,我不想更改我的 (.+) 正则表达式部分,我认为这可能是一个问题,但如果没有其他方法可以做到这一点,请告诉我)。
换句话说,结果必须是:
sdfsd<span style="background-color:yellow">-dsf-</span> sdfsdfssdfsfdsfsd <span style="background-color:yellow">-sdfsdf-</span>
随时在评论中问我,并感谢您的帮助。