如果我这样做:
@if(isset($notification->data['ad_object']))
<a href="#">{{$notification->data['user_name']}} posted a new ad "{{$notification->data['ad_object']}}"</a>
@endif
我得到了这个结果my_string = 'nnn';
my_string = my_string.replace(/nn/g, 'n*n');
return my_string; //n*nn
,但我需要在n*nn
的每个场合之间插入星号*
。结果应为nn
。
如果n*n*n
,则结果为my_string = 'nnnn'
,但应为n*nn*n
。
答案 0 :(得分:3)
你可以像这样做2次替换
'nnnnnn'.replace(/nn/g,'n*n').replace(/nn/g,'n*n');
示例:
my_string = 'nnnnnn';
my_string = my_string.replace(/nn/g,'n*n').replace(/nn/g,'n*n');
console.log(my_string);
&#13;
答案 1 :(得分:3)
您可以使用预测:
my_string = 'nnnnnnnnnnnnn';
my_string = my_string.replace(/n(?=n)/g, 'n*');
console.log(my_string);
&#13;
答案 2 :(得分:0)
您是否考虑使用前瞻?
匹配度:
n(?=n)
替换为:
n*
演示:regex101
编辑现在它链接到一个正在运行的JS示例,我不能保证它在每个浏览器中都有效。它与之前的lookbehind版本完全对称,但具有前瞻性。非常感谢@JaromandaX指出大多数主流浏览器都不支持lookbehind。