可能的输入:
输入1:
Hi John, I have recently..
输入2:
hi , I have...
输入3:
Hi Hans, I have...
输入4:
Hi, I have...
我想要一个正则表达式来添加或替换名称。以Hi
开头(忽略大小写)并以,
结尾。 (仅替换第一次出现)
例如,如果我想用David
输出:Hi David, I have recently..
答案 0 :(得分:2)
^(\S+)\s*\S*(?=,)
您可以$1 David
使用此。替换。请参阅演示。
https://www.regex101.com/r/fJ6cR4/7
var re = /^(\S+)\s*\S*(?=,)/gmi;
var str = 'Hi John, I have recently..\nhi , I have...\nHi Hans, I have...\nHi, I have...';
var subst = '$1 David';
var result = str.replace(re, subst);
答案 1 :(得分:0)
试试这个RegEx
。只需在space
之后添加$1
。
var regX = /^(hi)(\s?([a-z]+)?)?(?=,.+)/igm;
var str = 'Hi John, I have recently..\nhi , I have...\nHi Hans, I have...\nHi, I have...';
var sub = '$1 David';
var result = str.replace(regX, sub);