我有一个字符串"@{Name; 11112121@xyz.com}"
我想写一个从上面的字符串中提取Name
和11112121
的正则表达式
这就是我的尝试。
function formatName(text){
var regex = /@\{([^;]+); ([^\}]+)\}/
return text.replace(
regex,
'$1, $2'
);
}
上面给出了Name, 11112121@xyz.com
。但我只想要Name, 11112121
答案 0 :(得分:3)
答案 1 :(得分:2)
改为使用匹配,如下所示:
var regex = /@\{([^;]+);\s+([^@]+)/;
var matches = text.match(regex);
alert(matches[1] + ', ' + matches[2]);
答案 2 :(得分:0)
如果要匹配@
字符之前的所有内容,可以使用
var regex = /@\{([^;]+); ([^@]+)/
如果您需要在此之后验证字符串是否还包含}
,则可以将其添加到结尾:
var regex = /@\{([^;]+); ([^@]+)[^}]*\}/