正则表达式2

简介: 正则表达式

正则表达式1:https://developer.aliyun.com/article/1549117

11、匹配一个或多个字符

+匹配一个或多个字符(至少一个;不匹配零个字符的情况)。

[0-9]+将匹配一个或多个连续的数字。

字符串

Send personal email to ben@forta.com orben.forta@forta.com. For questions about abook use support@forta.com. If your messageis urgent try ben@urgent.forta.com. Feelfree to send unsolicited email tospam@forta.com (wouldn't it be nice ifit were that simple, huh?).

正则表达式

[\w.]+@[\w.]+\.\w+

结果

ben@forta.com
orben.forta@forta.com
support@forta.com
ben@urgent.forta.com
tospam@forta.com

12、匹配零个或多个字符

这种匹配需要用*元字符来完成。*的用法与+完全一样——只要把它放在一个字符(或一个字符集合)的后面,就可以匹配该字符(或字符集合)连续出现零次或多次的情况。

字符串

Hello .ben@forta.com is my email address

正则表达式

\w[\w.]*@[\w.]+\.\w+

结果

ben@forta.com

13、匹配零个或一个字符

?只能匹配一个字符(或字符集合)的零次或一次出现,最多不超过一次——请仔细体会?与+和*的相似和区别之处。如果需要在一段文本里匹配某个特定的字符(或字符集合)而该字符可能出现、也可能不出现,?无疑是最佳的选择。

 字符串

The URL is http://www.forta.com/,to connectsecurely use https://www.forta.com/ instead.

正则表达式

https?://[\w./]+

这个模式的开头部分是https?。?在这里的含义是:我前面的字符(s)要么不出现,要么最多出现一次。换句话说,https?://既可以匹配http://,也可以匹配https://,但也就仅此而已。

结果

1. http://www.forta.com/
2. https://www.forta.com/

这种写法可读性更强。

14、为重复匹配次数设定一个区间

{}语法还可以用来为重复匹配次数设定一个区间——也就是为重复匹配次数设定一个最小值和一个最大值。这种区间必须以{2, 4}这样的形式给出——{2, 4}的含义是最少重复2次、最多重复4次。在下面的例子里,我们将使用一个这样的正则表达式来检查日期的格式:

字符串

4/8/03
10-6-2004
2/2/2
01-01-01

正则表达式

\d{1,2}[-\/]\d{1,2}[-\/]\d{2,4}

结果

4/8/03
10-6-2004
01-01-01

15、匹配“至少重复多少次”

{3, }表示至少重复3次,与之等价的说法是“必须重复3次或更多次”

字符串

1001: $496.80
1002: $1290.69
1003: $26.43
1004: $613.42
1005: $7.61
1006: $414.90
1007: $25.00

正则表达式

\d+: \$\d{3,}\.\d{2}

结果

1001: $496.80
1002: $1290.69
1004: $613.42
1006: $414.90

16、防止过度匹配

*和+都是所谓的“贪婪型”元字符,它们在进行匹配时的行为模式是多多益善而不是适可而止的。

懒惰型元字符的写法很简单,只要给贪婪型元字符加上一个?后缀即可。

字符串

This offer is not available to customersliving in <B>AK</B> and <B>HI</B>

正则表达式

<[Bb]>.*?</[Bb]>

结果

<B>AK</B>
<B>HI</B>

过度匹配

非过度匹配

17、单词边界

限定符\b指定的单词边界。\b用来匹配一个单词的开始或结尾。

字符串

The cat scattered his food all over the room.

正则表达式

\bcat\b

结果

cat



正则表达式3:https://developer.aliyun.com/article/1549178

相关文章
正则表达式:理解与运用
正则表达式:理解与运用
79 0
|
人工智能 机器人 Unix
正则表达式的应用
正则表达式的应用
101 0
|
25天前
|
Java Perl
正则表达式
正则表达式
9 0
|
前端开发 数据安全/隐私保护 Windows
常用的20个正则表达式
常用的20个正则表达式
305 0
|
JavaScript 数据安全/隐私保护
|
机器学习/深度学习 C++ Windows
|
XML PHP 数据安全/隐私保护
常用的正则表达式
正则表达式是一种描述字符串结构的语法规则,是一种特定的格式化模式,用于验证各种字符串是否匹配(Match)这个特征,进而实现高级的文本查找、替换、截取等操作。 正则表达式在发展过程中出现了多种形式,一种是POSIX规范兼容的表达式,另一种是当Perl(一种功能丰富的编程语言)发展起来后,衍生出来的PCRE(Perl兼容正则表达式)库,使得许多开发人员将PCRE整合到自己的语言中,PHP中也未PCRE库的使用提供了相应的函数。
177 0
|
Java 数据安全/隐私保护
浅谈正则表达式的使用
在开发中,正则表达式的使用场景是多种多样的,同时也能够支持各种复杂场景,同时,正则表达式也是支持许多种语言,对于字符串的截取,匹配,替换 有着巨大的作用。
248 0
第177天:常用正则表达式(最全)
常用正则表达式 1 2 /* 常用正则表达式大全!(例如:匹配中文、匹配html) 3 4 匹配中文字符的正则表达式: [u4e00-u9fa5] 5 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 6 匹配双字节字符(包括汉字在内):[^x0...
1122 0