^(?:1[358]\\d{9}|\\d{3,4}-\\d{8,9})$
这个正则表达式怎么理解啊?求详解
^代表匹配开始,$代表匹配结束,?:的意思是非获取匹配,1[358]\\d{9}代表1开头,第二位是3/5/8,接下去跟9位数字,
\\d{3,4}-\\d{8,9}代表区号是3或4位数字,后面跟8或9位的电话号码(但是号码真的有9位么?7为或8位吧?)
这是判断 是否为手机号码或座机电话呀
这个我知道,只是不明白?:1[358]代表是什么意思,还有就是^限制开头,$限制结尾,上面的正则表达式限制的开头是什么,限制结尾是什么
“以1为开头加一个3或5或8,并以9位数字结束” 或 “以3至4位数字开头加一个 - ,并以8至9位数字结束”
?: 说明 括号里面的内容不被捕获,即不能使用 $1
这个不能使用$1是什么意思??:不能获取我不是很懂?
@浅草青晨: 捕获组
如果有使用过类似这样的:
string pattern="([a-z])([1-9])";
string text=Regex.Replace("a1","$2$1");
//text = 1a
如果这样:
string pattern="(?:[a-z])(?:[1-9])";
string text=Regex.Replace("a1","$2$1");
//text = a1