正则表达式中的限定符和元字符:
元字符就是它是一个特殊的字符,可以代表某个字符或某一类字符.限定符就是指某个字符出现的次数
特殊字符
|
意思
|
例子 |
\
|
跟字符串的转义字符一样,它也用来转义的.
|
比如$是个特殊的字符.要匹配$的话就得用\$ |
^ |
匹配字符串的开头位置 |
^a匹配arwen.但不匹配barwen. |
$
|
匹配字符串的末尾位置 |
en$匹配arwen.但不匹配arwenb. |
*
|
匹配前面的字符0次或多次 |
a*rwen,表示字母a出现0次或多次.可以匹配rwen或aaarwen. |
+ |
匹配前面的字符1次或多次 |
a+rwen表示字母a出现1次或多次.但不能是0次.可以匹配arwen或aarwen.但不能匹配rwen. |
? |
匹配前面的字符0次或1次 |
a?rwen,表示a出现0次或1次.可以匹配arwen或rwen.但不能匹配aarwen. |
{n} |
匹配前面的字符恰好是n次,其中n是整数 |
ar{2}wen可以匹配arrwen.但不能匹配arwen或arrrwen. |
{n,m} |
匹配前面的字符至少是n次,最多是m次.如果写成
{n,}表示最少匹配n次.没有上限.
|
ar{1,2}wen可以匹配arwen,arrwen.但不匹配awen或arrrwen. |
. |
点号,匹配除换行以外的任意单个字符.换行符用\n表示
|
arw.n.可以匹配arwen,arwin.但不能匹配arween或arwn. |
\w |
匹配字符或数字,下划线,汉字 |
|
\d |
匹配数字 |
|
\s |
匹配任何空白字符 |
貌似回车符\r和换行符\n也被算作空白字符. |
\b |
匹配单词的开关或结尾 |
这个要和^,$匹配字符的开关和结尾区分下.我们是把空格隔开的一串字符当作一个单词.但字符串是整个的一长串字符 |
|
|
|
|
注意: |
特殊字符都区别大小写的,上面的字符全部是小写
|
表示反义的字符
上面说的字符都是小写的.有些对应的大写字符就表示相反的意思
\W匹配何意不是字母,数字,下划线,汉字的字符.
\S匹配任意不是空白的字符
\D匹配任意不是数字的字符
\B匹配不是单词开始或结束的位置
小括号,中括号
中括号:[] ,它表示里面的字符任选一个
比如[abcd]+,就表示abcd这四个字母任意的一个出现1次或多次
小括号()和|结合表示任选一个,其实和[]类似,只不过[]只能任选一个字母,()可以任选一个字符串
(abc|def)+表示abc或def这两个字符串中的任一个出现一次或多次.
另一个是^,在上面提到它表示字符串开头,但要把它放到[]中就取反的意思了.
所以^a是匹配a在字符开头.而[^a]匹配不是字符a的任意字符
还有在[]中用个连接符-表示取值范围[0-9]表示0到9的任意一个数字[a-z]表示任意小写字母中的一个
上面说了这么多规则,那具体怎么用呢,其实用起来很简单,难的是你怎么把上面的规则组合起来实现你想要的条件
还用之前的例子来说,比如从字符串中提取网址
string str ="ahttpp://www.baidu.com/s?tn=sitehao12"; //待提取的源字符
string pattern = @"w{3}\..*\.com"; //这里就是用上面的规则来表达条件.w就表示字母w,如果加个\变成\w表达的意思就不一样了,表示数字,字母,下划线,汉字了
//然后w{3}表示连续出现3次w字母 \.就表示点号.注意如果前面没有@则要表示成\\.反正最好记得每次在寡不字符串前加个@就不用就考虑再给\转义了啊.
//.*就表示除换行符以外的任意字符出现0或多次 \.表示点号 com就表示字符com
string needStr = Regex.Match(str,pattern).Value; //这样就得到想要的结果了.
分享到:
相关推荐
C# 正则表达式 集合 C# 正则表达式 集合 C# 正则表达式 集合
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
一个WinForm程序用以测试C#正则表达式文本框验证:只能输入整数和带两位小数的小数。如暂时无法下载,可以查看本人CSDN博客里相应文章中关于该程序的思路。能力有限,仅供交流学习,请多多指教。
包含了常用正则表达式的使用,验证,正则表达式替换字符串,判断字符串是否为正整数,判断输入的字符串是否全是英文、中文....
正则表达式测试工具C#完整源码,包括查找和替换功能,标注显示匹配结果。
C#正则表达式语法大全
c#使用正则表达式验证身份证号码,工程完全可以运行,方便大家参考和学习
C#,VS2010,利用正则表达式验证网址(url),
C#正则表达式用法
C#正则表达式应用C#正则表达式应用C#正则表达式应用C#正则表达式应用
C#正则表达式汇总,让你更快捷学会正则表达式的用法。。。
常用的正则表达式 C#正则表达式小结 - z 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|...
C#正则表达式语法,正则表达式是一门很强大的学科。应用范围也很广。
java正则表达式,c#正则表达式.
使用正则表达式来判断用户输入的IP地址格式是否正确
由微软英文版在线文档整理而成的pdf手册,包含完整书签、文档内部链接,很适合C#正则表达式的学习与参考。
c#正则表达式常用,验证数字位数,是否为数字,是否为字符,验证字符数个数,验证年龄的填写规范等。
C#正则表达式的使用,希望大家可以学习学习! [C#] bool IsValidEmail(string strIn) { // Return true if strIn is in valid e-mail format. return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3...
C#中的常用正则表达式总结 C#中的常用正则表达式总结 C#中的常用正则表达式总结
C#正则表达式小结,C#正则表达式小结,C#正则表达式小结,C#正则表达式小结