考虑
myString.replace(/(,\s)[\sa-zA-Z_0-9]+$/," and ")
我想添加一些语法,我试过
"Updated first_name, email and "
但是我得到了
', '
Unfortunatley正则表达式也替换了'last_name',因为它用于查找有问题的', '
我认为括号会使它只替换Mail::send('emails.servererror', ['exception' => $e, 'request' => $request] ,function($message)
{
...
});
我如何实现目标?
答案 0 :(得分:0)
String.replace
用新的子字符串替换匹配的子字符串/ regexp。
在你的代码中,匹配包括从最后','
到结尾的任意,所以这就是被替换的内容。
您可以将正则表达式更改为:(,(?!(.)*,))
,它应该可以正常工作。
alert('Updated first_name, email, last_name'.replace(/(,(?!(.)*,))/, ' and'))
答案 1 :(得分:0)
答案 2 :(得分:0)
试试这个
var myString = "Updated first_name, email, last_name" ;
myString=myString.replace(/,(?=[^,]*$)/, 'and')
alert(myString);
答案 3 :(得分:0)
已经有很多答案,但这也是我的两分钱:
var myString = "Updated first_name, email, last_name";
var t= myString.replace(/,\s([\sa-zA-Z_0-9]+)$/," and $1");
alert(t);
答案 4 :(得分:0)
将您的replace
参数更改为
myString.replace(/, *([\w]+)$/, " and $1")