正则表达式小记(1)

正则表达式特殊的类,这组类经常使用。
1 .(点)类可以与任何非换行符的字符相匹配.对字符类[^/n]的简化操作。
2 /w 类 可以对任意单词字符进行匹配。/W(W为大写)用来匹配非单词的字符,与/w功能刚好相反。
3 /d 类 可以与任何阿拉伯数字的字符相匹配./D(D为大写)可以匹配任意的非数字字符。
4 /s与所有的空白字符相匹配,包括换行符.相当与[/f/n/r/t/v]。/S(S大写)与/s相反,匹配所有非空白字符。
 
 
字符类减法。
就是通过运用减法的功能来从自定义的字符中截取字符集或是字符范围.具有能从类中相邻近的字符范围去除去特定的字符的功能:
如:[a-z-[d-g]]表示与a-z但除去d-g之间的任意字符相匹配。
犹如:[a-z-[d-g-[e-f]]]表示表示与a-z但除去d、g任意字符相匹配。
 
 
注释表达式。
随着表达式越长,可读性就降低.对于这种情况,正则表达式提供内联注释。
注释方式:
<?#<content>),分析程序会在看到开始序列元字符(?#)并且忽略<content>这部分所有字 符,直到找到下一个元字符.在构造Regex的时候使用了IngorePatternWhiteSpace选项时,就可以通过像编程语言(例如C)//结 构来注释.使用符号#来注释指明并使得匹配程序忽略之后所有内容,直到这行结束.使用#注释符时候,必须确保每行都是以换行符来终止.
例如:
            string nl = Environment.NewLine;
            Regex regex = new Regex(@"(" + @"(?<key>/w+):#Math the key of a key-value pair" + nl +
                @"/s*#Optionl Whitespace" + nl +
                @"(?<value>/w+) #Math the value" + nl +
                @"(?#Option comma and/or whitespace)[,/s]*" + @")+#Can have one or more pairs", RegexOptions.IgnorePatternWhitespace);
 
条件表达式
(?(test)<true>|<false>) 类似:condition?true_s:false_s
(test) 是一种评估的模式.首先程序如果能够成功匹配(test),则模式匹配程序就尝试匹配接下来的<true>,否则匹配<false>部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值