正则表达式简介

                                        正则表达式简介

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015  C#

作者: 李杨

撰写时间:2019-05-20

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

正则表达式,又称为规则表达式。在代码里就是简写为regex 、regexp、RE,正则表达式通常被用来检索、替换那些符合某个规则的文本。

正则表达式呢是对字符串,包括普通字符,例如a到z之间的子母和特殊字符。特殊字符称为“元字符”。对字符串和特殊字符这些的操作的一种逻辑公式,就是用事先定义好的一些特定的字符,或者特定的字符串组合,组成一个规则的“规则字符串”。然后这个规则字符串用来表达对字符串的一种过滤逻辑。

正则表达式也是一种文本模式,这个模式描述的就是在搜索文本时要匹配的一个或者多个字符串。

 

而且这样来说的话,如果给定一个正则表达式和另外一个字符串,我们可以得到这些目的:

  1. 给定的字符串是否符合正则表达式的匹配
  2. 可以通过正则表达式,从字符串里面获得我们想要的部分。

 

然后下面是正则表达式元字符和它们的描述:

\

将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n“\n”匹配换行符。序列“\\”匹配“\”“\(”则匹配“(”。即相当于多种编程语言中都有的转义字符的概念。

^

匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”“\r”之后的位置。

$

匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”“\r”之前的位置。

*

匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”

+

匹配前面的子表达式一次或多次(大于等于1次)。

?

匹配前面的子表达式零次或一次。

{n}

n是一个非负整数。匹配确定的n次。

{n,}

n是一个非负整数。至少匹配n次。

{n,m}

mn均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。

?

当该字符紧跟在任何一个其他限制符(*,+,?{n}{n,}{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。例如,对于字符串“oooo”“o+”将尽可能多地匹配“o”,得到结果[“oooo”],而“o+?”将尽可能少地匹配“o”,得到结果 ['o', 'o', 'o', 'o']

.

匹配除“\n”"\r"之外的任何单个字符。要匹配包括“\n”"\r"在内的任何字符,

[^x

负值字符集合。匹配未包含的任意字符。

[^a

负值字符范围。匹配任何不在指定范围内的任意字符。

\b

匹配一个单词的边界,也就是指单词和空格间的位置(即正则表达式的匹配有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的)。

\B

匹配非单词边界。

\d

匹配一个数字字符。

\D

匹配一个非数字字符。

\f

匹配一个换页符。

\n

匹配一个换行符。

\r

匹配一个回车符。

\s

匹配任何不可见字符,

\S

匹配任何可见字符。

\t

匹配一个制表符。

\v

匹配一个垂直制表符。

\w

匹配包括下划线的任何单词字符。

\W

匹配任何非单词字符。

这只是元字符的一部分,还有很多就不一一列出来啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值