Javascript 正则表达式提取字符串
我有一个字符串Javascript 正则表达式提取字符串,javascript,regex,Javascript,Regex,我有一个字符串“@{Name;11112121@xyz.com}“ 我想编写一个正则表达式,从上面的字符串中提取Name和11112121 这就是我试过的 function formatName(text){ var regex = /@\{([^;]+); ([^\}]+)\}/ return text.replace( regex, '$1, $2' ); } 上面给出了名称,11112121@xyz.com。但是我只想要名称,11112121如果
“@{Name;11112121@xyz.com}“
我想编写一个正则表达式,从上面的字符串中提取Name
和11112121
这就是我试过的
function formatName(text){
var regex = /@\{([^;]+); ([^\}]+)\}/
return text.replace(
regex,
'$1, $2'
);
}
上面给出了
名称,11112121@xyz.com
。但是我只想要名称,11112121
如果要匹配所有内容直到@
字符,可以使用
var regex = /@\{([^;]+); ([^@]+)/
如果在此之后需要验证字符串是否还包含}
,可以将其添加到末尾:
var regex = /@\{([^;]+); ([^@]+)[^}]*\}/
如果要匹配所有内容直到
@
字符,可以使用
var regex = /@\{([^;]+); ([^@]+)/
如果在此之后需要验证字符串是否还包含}
,可以将其添加到末尾:
var regex = /@\{([^;]+); ([^@]+)[^}]*\}/
试试这个
var regex = /@\{([^;]+); ([^\}]+)(@.*)\}/
$1=>Name
$2=>11112121
这是一个有效的例子吗
var regex = /@\{([^;]+); ([^\}]+)(@.*)\}/
$1=>Name
$2=>11112121
工作示例是否改为使用匹配,如下所示:
var regex = /@\{([^;]+);\s+([^@]+)/;
var matches = text.match(regex);
alert(matches[1] + ', ' + matches[2]);
改用匹配,如下所示:
var regex = /@\{([^;]+);\s+([^@]+)/;
var matches = text.match(regex);
alert(matches[1] + ', ' + matches[2]);