C#基础教程(正则表达式元字符)

[01]–. –匹配除\\n之外的任何单个字符; .k — [pk, fk, tk;] f.k — [fkk, fik, fok, f8k…..];

[02]–[]–匹配括号中的任何一个字符[]中是一个范围,一个字符集合;[123456789]、[qwerty]、[1v2n3m5j0]、[0-9]、[a-z]、[A-Z]、[a-zA-Z0-9];

[03]–| –将|左右的两个匹配条件进行逻辑”或”运算; a|ewfw ======> a或ewfw; (a|dd)asdfaw ======>aasdfaw或ddasdfaw;

[04]–()–将 () 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用;

1–改变优先级;

2–定义提取组;

[05]–*–匹配0至多个在它之前的子表达式,和通配符*没关系;aaaab*—–>就是说对于b可以有0个或者是多个aaaa、aaaab、aaaabbbbbb…..;

[06]–+–匹配前面的子表达式一次或多次;

[07]–?–匹配前面的子表达式零次或一次;

[08]–{n}–匹配确定的 n 次;

[09]–{n,}–至少匹配n次;

[10]–{n,m}–最少匹配 n 次且最多匹配 m 次;

[11]–^–匹配一行的开始;

[12]–$–匹配行结束符;

C#编程自学_做最好的.net自学资料站_www.4k8k.net

学习VBA,报表做到飞 第四章 正则表达式 4.2 正则表达式元字符和量词

第四章 正则表达式

4.2 正则表达式的元字符和量词

正则表达式的代码编写非常简单,而且近乎格式化模式,千篇一律。其功能强大的原因主要在于通过它的元字符和量词的组合,从一堆杂乱无章的字符中找出符合规则的字符串来。元字符和量词就是正则表达式用来描述要找的字符串的特征的。

4.2.1 元字符

\\d 匹配一个数字

\\D 匹配一个非数字字符(包括字母、汉字、空格、下划线、各类符号)

\\w 匹配单个字母、汉字、数字和_。

\\W 匹配任何非单词字符(包括空格、各类符号,不包括下划线)

\\s 匹配任何空白字符(包括空格、制表符、换行符等,也就是眼睛看不到的字符)

\\S 匹配任何非空白字符(也就是眼睛能看到的字符)

\\n 匹配一个换行符

\\r 匹配一个回车符

\\t 匹配一个制表符(Tab键)

\\b 匹配一个单词边界,也就是指单词和空格间的位置(不支持汉字)

\\B 匹配非单词边界(跟\\b相反)

. 匹配除“\\n”之外的任何单个字符

*** 在VBA里,.是一个元字符,\\.表示其本身,也就是说,要想表示.,就必须在它前面加上\\,否则系统会把它当作一个元字符来对待。

[一-龢]或[\\u4e00-\\u9fa5] 匹配汉字

4.2.2 元字符量词

*:匹配零次或多次

+:匹配一次或多次

?:匹配零次或一次

上下限:{下限,上限}

{n} 匹配n次

{n,} 匹配至少n次,无上限

{n,y} 匹配n次到y次,y>n

4.2.3 连接符

|表示or,如“工程|结算”,表示匹配“工程”或者“结算”均可。如果有多个或者条件,在语句执行时,会按照顺序先匹配前面的条件,再匹配后面的条件。

[]表示匹配中括号中的任意一个字符。

如:[abc],表示匹配字母abc中的任意一个均可

[a-zA-Z],表示匹配任意一个大小写字母均可

[0-6],表示匹配0到6的任意一个数字

4.2.4 用正则表达式测试工具查看匹配结果

我们通过元字符和量词的组合来描述要找的字符串的特征,然后用这个组合去文本中查找,查找到的内容就是匹配结果。下面我们通过一些例子来说明元字符和量词的应用,通过正则表达式测试工具来匹配。

4.2.4.1

在“买牛肉3斤,115元”里匹配数字:

表达式:\\d+,匹配一个或多个数字

匹配结果:

匹配到两个结果:3、115

如果想匹配带小数点的数字,如“买牛肉3斤,115.56元”,表达式可以修改为:\\d+\\.?\\d*,小数点匹配0次或1次,小数点后面的数字匹配0次或多次。

4.2.4.2

在55,76,1000,357,2500,12380中匹配4位数字:\\d{4},有三个匹配结果:1000,2500,1238

匹配所有大于等于1000的数字:\\d{4,},有三个匹配结果:1000,2500,12380

关于\\d{4}表达式想匹配4位数,却匹配到12380里的1238,造成匹配结果不准确的情况,我们会在以后的章节里解决。

4.2.4.3

在下面一段话里匹配“工程”或者“结算”:

施工过程结算是指工程项目实施过程中,发承包双方依据施工合同,对约定结算周期内已完工程价款进行结算的活动,其结算文件经发承包双方签署认可后,作为工程竣工结算文件的组成部分。

表达式:工程|结算

匹配结果:

匹配到8个结果。

4.2.5 常用的正则表达式

1、数字:[0-9]*

2、n位的数字:\\d{n}

3、至少n位的数字:\\d{n,}

4、x-y位的数字:\\d{x,y}

5、带1-2位小数的数字:\\d+(\\.\\d{1,2})?

8、非负整数:^\\d+$

9、汉字:[一-龢]+

10、英文和数字:[A-Za-z0-9]+

11、由英文字母组成的字符串:[A-Za-z]+

12、由大写英文字母组成的字符串:[A-Z]+

13、由小写英文字母组成的字符串:[a-z]+

14、由汉字、数字、字母或者下划线组成的字符串:\\w+

15、汉字、数字、字母组成的字符串:[一-龢A-Za-z0-9]+

16、身份证号(15位、18位数字):\\d{15}|\\d{18}

17、密码(以字母开头,长度在6~8之间,只能包含字母、数字和下划线):^[a-zA-Z][a-zA-Z0-9_]{5,7}$

18、日期格式:\\d{4}-\\d{1,2}-\\d{1,2}

往期精彩回顾:

我是云飞扬,职场财会人员,愿与大家分享表格制作和数据统计分析的技巧与方法,希望大家的工作更便捷,更轻松!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。