match与replace配合使用可否?
var str = 'email.aaa@sfsf.com'; var reg = /\email./; var finStr = ''; if(str.match(reg)){ finStr = str.replace(reg, ''); console.log(finStr); }
虽然可行,但不想这样做,想通过正则实现
@Aran.Wang: 小菜 一楼的不就是用正则表达式处理的吗?你是想用C#进行出来吗?
@Aran.Wang: 用C#的写法如下:
string strText = "email.aaa@sfsf.com";
Regex reg = new Regex("([\\s\\S]*.)aaa@sfsf.com");
if (reg.IsMatch(strText))
{
Match m = reg.Match(strText);
strText = strText.Replace(m.Groups[1].ToString(), "");
}
return strText;
@瑾: 你这样处理 如果遇到 aaa.aaa@sfsf.com 就不行了
@Aran.Wang: 如果你的.aaa@sfsf.com前一定是字母的话 可以修改为这个正则:([a-z]+.)aaa@sfsf.com
@Aran.Wang: ([a-z]*.)aaa@sfsf.com 改成这个也实用你.前边为空的情况
@瑾: aaa@sfsf.com 就没法匹配了,你这种写法太死了
将email.用()括起来试试,.email.应该是一个整体啊,你的正则表达式中!只是修饰了e
括起来没用,还是只去掉了e
(?:email\.)?(.+)
用$1去替换就好了
除了用正则替换,就没有别的方法了吗?