C#学习记录5——正则表达式 Regular Expression

正则表达式,使用一个字符串来匹配符合一定标准的一系列字符串。非常利于检查字符串的格式,例如,注册登录时对信息格式的检查。

C#的正则表达式在命名空间System.Text.RegularExpressions下

例1.

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Text.RegularExpressions;
 7 namespace RegexTest
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             var str1 = "one, two; three  four";
14             Regex reg = new Regex(",|;| ");
15             foreach (string str in reg.Split(str1))
16             {
17                 if(str.Length != 0)
18                     Console.WriteLine(str);
19                 }
20             Console.ReadKey();
21         }
22     }
23 }

第六行,使用对应的命名空间
14行,创建了Regex的实例,括号里面的内容表示:单个逗号或单个分号或单个空格

15行foreach中,reg.Split(str1)表示通过调用reg实例的split方法,将str1按照正则表达式的形式分割

得到结果

例2

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Text.RegularExpressions;
 7 namespace RegexTest
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             var str1 = "text, test tux tax.";
14             Regex reg = new Regex(@"(t\S+t)(\s|,\s|;\s|.)");
15             MatchCollection coll1 = reg.Matches(str1);
16             foreach (Match match in coll1)
17             {
18                 if (match.Length != 0)
19                     Console.WriteLine(match.ToString());
20             }
21             Console.WriteLine();
22             Regex reg2 = new Regex(@"(t\S+x)(\s|,\s|;\s|.)");
23             MatchCollection coll2 = reg2.Matches(str1);
24             foreach (Match match in coll2)
25             {
26                 if(match.Length != 0)
27                     Console.WriteLine(match.ToString());
28             }
29             Console.ReadKey();
30         }
31     }
32 }

使用match进行匹配

14行的意义是,匹配以t开始,中间有一个或多个非空字符(\S(大写)表示任意非空字符,+表示一个或多个),后跟t,最后加上空格(\s(小写)),或逗号和空格,或分号和空格,或dot符。 同样的22行,只是改为了后跟x

这里引号前的@符号,指的是不对引号内的内容进行转义,因此不需要在每个\s \S等之前再加一个\了。

15行 MatchCollection coll1 = reg.Matches(str1);

等号右侧返回了str1里符合正则表达式的匹配集合,赋值给matchcoll类型的coll1

结果

时间: 2024-10-25 22:29:35

C#学习记录5——正则表达式 Regular Expression的相关文章

正则表达式 ( Regular Expression )

正则表达式中的元字符 字符 说明 \ 将下一字符标记为特殊字符.文本.反向引用或八进制转义符.例如,“n”匹配字符“n”.“\n”匹配换行符.序列“\\”匹配“\”,“\(”匹配“(”. ^ 匹配输入字符串开始的位置.如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配. $ 匹配输入字符串结尾的位置.如果设置了 RegExp 对象的 Multiline 属性,$ 还会与“\n”或“\r”之前的位置匹配. * 零次或多次匹配前面的字符或子表达式.

Python3 正则表达式 Regular Expression

2019/02/08正则表达式Regular Expression掌握特殊符号* (0, +00) # 贪婪匹配,按最多的匹配>>> re.findall('alex*', 'sddgljalexdhgb')['alex']>>> re.findall('alex*', 'sdghshalexxxxxgdhg')['alexxxxx'] + (1, +00) # 贪婪匹配,按最多的匹配>>> re.findall('alex+', 'sdghshale

Python正则表达式Regular Expression基本用法

资料来源:http://blog.csdn.net/whycadi/article/details/2011046   直接从网上资料转载过来,作为自己的参考.这个写的很清楚.先拿来看看. 1.正则表达式re模块的基本函数. (1)findall函数的用法 findall(rule,target[,flag])是在目标字符串中找到符合规则的字符串.参数说明:rule表示规则,target表示目标字符串,[,flag]表示的是规则选项.返回的结果是一个列表.若没找到符合的,是一个空列表. 如: 因

C#中【正则表达式regular expression】相关的知识

Regex System.Text.RegularExpressions.Regex      regex应该是regular expression的缩写 https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex(v=vs.110).aspx Represents an immutable regular expression.[immutable 不可变的] 代表了不可变的正则表达式 The Re

正则表达式REGular Expression

基本正则表达式:Basic REGEXP 元字符 释义 .  匹配任意单个字符  []  匹配指定范围内单个字符 [^]  匹配指定范围外单个字符 * 其前面字符出现任意次 \? 其前面字符出现0次或者1次 \{m,n\} 其前面字符至少m次,至多n次:没上限省略n .* 任意长度的任意字符 ^ 锚定行首 $ 锚定行尾 \< , \b 锚定词首 \> , \b 锚定词尾 \(\) 分组 \1, \2, \3 后项引用 扩展正则表达式:Extended REGEXP 元字符 释义 .  匹配任意

javascript基础知识之正则表达式(regular expression)

一种字符串匹配的模式,用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等.注意:在javascript中正则表达式也是一种对象1:创建正则表达式两种方式:隐式创建(文字量方法)和显示创建(使用构造函数)eg:文字量方法:var regExp = /pattern/flags;将文字量的正则表达式赋值给一个变量,包含在两个斜杠之间的一个或多个字符,在后一个斜杠的后面,可以指定一个或多个选项.var regExp1 = /abc/;var regExp2 = /a

python核心编程学习记录之正则表达式

PHP学习记录之正则表达式(三)

1.preg_grep();搜索模式中的正则规则 把他们放到一个数组中. <?php $lang=array('php','java','asp','jsp','c#'); $mode='/p$/';//搜索结尾为P的 打印到数组中 print_r(preg_grep($mode,%lang)); ?> 2.preg_match();返回一个布尔类型的结果 <?php $email='[email protected]'; $mode='/(^[\w\.]{1,})@([\w]{2,})

Regular Expression(正则表达式)之邮箱验证

正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串.使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本.其实,正则表达式是值得大家花时间学习的.正则表达式不仅在javaScript 中有用,在其他许多地方也可以使用正则表达式,例如其他编程语言(比如Perl,Java,C#,Python 和PHP ),Apache 配置文件以及BBEdit 和TextMate 等文本编辑器.甚至Adobe Dreamwe