基本说来,正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。我们使用一种自定义的模式来匹配一定数量的文本,并从中提取所需数据。如同window的通配符,如:*.txt查找所有txt文件。*就被解释成任意字符。
正则表达式中常见语法:字符匹配,重复匹配,字符定位,转义匹配,字符分组,字符替换和字符决策。对于快速入门的人就请记住:字符匹配语法,重复匹配语法,字符定位语法,转义匹配语法。对这四个语法的详细文档如下。
字符匹配语法:
注: 为了容易记忆,我会用下面的单词来解释这3个字母
d-decimal
w-word
s-space
重复匹配语法
字符定位语法
转义匹配语法
构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()、Replace()、Split()和Match的类;
IsMatch():匹配
Replace():替换
Split():拆分
正则表达式实例:
验证数字:"^[0-9]*$"不匹配123abc456
验证字母:"^[A-Za-z]+$"。
验证邮件:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
验证汉字:"^[\u4e00-\u9fa5]{0,}$"
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
一个或多个空格:\s+ 匹配 ”字母” : "[A-Za-z]*": ^\s+ : 开始处的空白 或 \s+$: 结尾处的空白