随笔分类 - 正则指引
摘要: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...
阅读全文
摘要: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,...
阅读全文
摘要: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}(...
阅读全文
摘要: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}$");//使用量词范围 ...
阅读全文
摘要: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...
阅读全文
摘要:正则表达式中的大多数结构匹配的文本会出现在匹配的结果中,但是有时候不但关心目标文本的匹配,还要判断目标文本左右两侧的文本是否符合要求,这种要求的正则里叫做断言。常见的断言有三类:单词边界、行的起始、结束的位置、环视。单词边界:正则记着:\b,它匹配“单词边界”的位置。使用情况: \bword\b \bword word\baword successawordswords successword success success success\B是非单词边界。行起始、结束位置在正则表达式中,这类匹配位置的元素叫做锚点,用来定位的,常用的锚点还有^和$,,分别匹配字符串的开始和结束的位置,如果.
阅读全文
摘要:正则指引-括号之前学习字符组和量词,量词是形容字符组的,但是有时候我们希望用量词来形容多个元素,我们可以用括号完成,我们可以使用(...)把目标元素括起来,就可以把括号内部看成一个整体,在括号外部使用量词,量词就会对括号内部的所有元素作用。用括号改变量词的作用元素:re.research(r"^ab+$","ab"); != none //truere.research(r"^ab+$","abb"); != none //truere.research(r"^(ab)+$","abb
阅读全文
摘要:量词:指定字符组出现的次数例如\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] 匹配优先量词:会对量词的匹配优先,量词后面的
阅读全文
摘要:字符组:在同一个位子可能出现的各种字符。用正则表达式判断数字字符:re.Search("[0123456789]",charStr) != None 其中[0123456789]以字符串形式给出正则表达式,他是一个字符组,表示可以是0到9的任意一个字符。Net中Regex.IsMatch(charStr,"[0123456789]");在默认情况下,Search(Pattern,String)只会判断某个子串能否匹配pattern,只要pattern能匹配String中的一部分,也认为是匹配成功,为了测整个String是否能匹配pattern,要在pat
阅读全文
浙公网安备 33010602011771号