随笔分类 -  正则指引

摘要:class Program { static void Main(string[] args) { //反向引用 //在表达式内部使用之前捕获分组匹配的文本 string str = "aa"; string reg = @"([a-z])\1";//这里的\1就表示,引用第一个()中匹配的文本内容 bool res = Regex.IsMatch(str, reg); Console.WriteLine(res.ToStrin... 阅读全文
posted @ 2013-09-27 15:43 八神吻你 阅读(671) 评论(4) 推荐(0)
摘要:static void Main(string[] args) { //引用分组 //使用括号之后, //正则表达式会保存每个分组真正匹配的文本 //例如: //表达式: (\d{4})-(\d{2})-(\d{2}) //分组编号: 1 2 3 string str = "2013-12-12 2013-2-2"; string reg = @"(\d{4})-(\d{1,... 阅读全文
posted @ 2013-09-27 14:53 八神吻你 阅读(369) 评论(0) 推荐(0)
摘要:static void Main(string[] args) { string str = "320922198809212736"; var result1 = Regex.IsMatch(str, @"^[1-9]\d{14}$");//15位身份证 var result2 = Regex.IsMatch(str, @"^[1-9]\d{14}\d{2}[0-9x]$");//18位身份证 var result3 = Regex.IsMatch(str, @"^[1-9]\d{14}(... 阅读全文
posted @ 2013-09-27 13:58 八神吻你 阅读(336) 评论(0) 推荐(0)
摘要:class Program { static void Main(string[] args) { string str = "1\"3"; var re1 = Regex.IsMatch(str, @"^\d\d\d\d\d\d$");//数字出现6次 var re2 = Regex.IsMatch(str, @"^\d{6}$");//使用量词 var re3 = Regex.IsMatch(str, @"^\d{6,10}$");//使用量词范围 ... 阅读全文
posted @ 2013-09-24 18:39 八神吻你 阅读(402) 评论(0) 推荐(0)
摘要:class Program { static void Main(string[] args) { string str = "b"; var result1 = Regex.IsMatch(str, @"2");//字符串比较 var result2 = Regex.IsMatch(str, @"[0123456789]");//字符组穷举 var result3 = Regex.IsMatch(str, @"[0-9]");//范围 var re... 阅读全文
posted @ 2013-09-24 16:43 八神吻你 阅读(324) 评论(0) 推荐(0)
摘要:正则表达式中的大多数结构匹配的文本会出现在匹配的结果中,但是有时候不但关心目标文本的匹配,还要判断目标文本左右两侧的文本是否符合要求,这种要求的正则里叫做断言。常见的断言有三类:单词边界、行的起始、结束的位置、环视。单词边界:正则记着:\b,它匹配“单词边界”的位置。使用情况: \bword\b \bword word\baword successawordswords successword success success success\B是非单词边界。行起始、结束位置在正则表达式中,这类匹配位置的元素叫做锚点,用来定位的,常用的锚点还有^和$,,分别匹配字符串的开始和结束的位置,如果. 阅读全文
posted @ 2012-11-07 09:04 八神吻你 阅读(1105) 评论(1) 推荐(0)
摘要:正则指引-括号之前学习字符组和量词,量词是形容字符组的,但是有时候我们希望用量词来形容多个元素,我们可以用括号完成,我们可以使用(...)把目标元素括起来,就可以把括号内部看成一个整体,在括号外部使用量词,量词就会对括号内部的所有元素作用。用括号改变量词的作用元素:re.research(r"^ab+$","ab"); != none //truere.research(r"^ab+$","abb"); != none //truere.research(r"^(ab)+$","abb 阅读全文
posted @ 2012-11-05 11:30 八神吻你 阅读(1455) 评论(0) 推荐(0)
摘要:量词:指定字符组出现的次数例如\d\d\d表示出现三个字符组,我们可以使用量词表示法:\d{3}量词可以表示字符组出现的次数,还可以表示字符组出现次数的范围:\d{0,10} : 就表示这边可以匹配出现0到10次之间整数。一般量词的表示:{n}{m,n} 表示范围:m<= X <=n{m,} 表示范围:m<= X ,X可以无穷大{0,n} 表示范围:0<= X <=n还存在一组常用量词,也可以叫量词简记法:* :{0,}+ :{1,}? :{0,1}点号:可以表示任意字符,除去换行符\n。 自制任意字符是:[\s\S] 匹配优先量词:会对量词的匹配优先,量词后面的 阅读全文
posted @ 2012-11-01 14:47 八神吻你 阅读(445) 评论(0) 推荐(0)
摘要:字符组:在同一个位子可能出现的各种字符。用正则表达式判断数字字符:re.Search("[0123456789]",charStr) != None 其中[0123456789]以字符串形式给出正则表达式,他是一个字符组,表示可以是0到9的任意一个字符。Net中Regex.IsMatch(charStr,"[0123456789]");在默认情况下,Search(Pattern,String)只会判断某个子串能否匹配pattern,只要pattern能匹配String中的一部分,也认为是匹配成功,为了测整个String是否能匹配pattern,要在pat 阅读全文
posted @ 2012-10-30 18:41 八神吻你 阅读(485) 评论(0) 推荐(0)