正则表达式二

  1. 边界
//\b指定单词的边界
//\B不匹配一个单词边界
str = @"this cat scattered his food all over the room";
pattern = @"\bcat\b";

/* ^用来定义字符串开头
* $用来定义字符串结尾
* ^紧跟在左方括号【的后面时,表示取非
* ^如果放在字符集的外面并位于一个模式的开头,将匹配字符串的开头
*/ 
str= @"
      <?xml version='1.0' encoding='utf - 8' ?>
      < sqlMap namespace='TFranSummaryItemMap' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://ibatis.apache.org/mapping'>";
pattern = @"^\s*<\?xml.*\?>";


/*如果没有(?m)不匹配
*否则三个注释都将匹配 
*/ 
str = @" sdfewgo230r
       // Make love
       2342390
       // init
       weuhfsdoi
       // Done";
pattern = @"(?m)^\s*//.*$";

2.

 str = @"pinging hong.com [192.168.1.10]";
//1.不一定合法如:999.999.999.999
pattern = @"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}";
//2.不一定合法如:000.000.000.000
//使用子表达式(\d{1,3}\.)
pattern = @"(\d{1,3}\.){3}\d{1,3}";
//3.合法
pattern = @"(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5])";

str = @"
Date1:1999,
Date2:2020";
//结果:19 2020
//解释为19或者20\d{2}
pattern = @"19|20\d{2}";
//OK
pattern = @"(19|20)\d{2}";

3.回溯引用匹配

/*1.回溯引用只能用来引用模式里的字表达式(用(和)括起来的正则表达式片段)
*2.回溯引用通常从1开始匹配\1,\2许多实现里\0代表整个正则表达式
*/       
//回溯引用匹配
str = @"<BODY>
        <h1>dsfiowe23r</h1>
        jfp3r0-43f3jdf
        <h2>90349f3qjoq</h3>
        </BODY>";
//错误结果:<h1>dsfiowe23r</h1>
//< h2 > 90349f3qjoq </ h3 >
pattern = @"<[hH][1-6]>.*?</[hH][1-6]>";
//正确结果:<h1>dsfiowe23r</h1>
pattern = @"<[hH]([1-6])>.*?</[hH]\1>";

str = @"this fo fo text, should be and and";
            /*[ ]+匹配一个或多个空格
             * \w+匹配一个或多个字母数字字符
             * [ ]匹配随后的空格
             * \1这是一个回溯引用,它代表者模式里的第一个字表达式
             */ 
pattern = @"[ ]+(\w+)[ ]+\1";

str = @"313-555-1244 
        123-555-9999 
        820-555-9000";
pattern = @"(\d{3})(-)(\d{3})(-)(\d{4})";
rep= @"($1) $3-$5";
/*结果:
 * (313) 555-1244 
 * (123) 555-9999 
 * (820) 555-9000
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值