正则表达式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

目录
相关文章
|
2月前
|
XML 前端开发 数据安全/隐私保护
正则表达式
正则表达式
|
11月前
|
C++
C++正则表达式
C++正则表达式
什么是正则表达式?
什么是正则表达式?
77 0
|
数据安全/隐私保护
正则表达式_2
学习自编程胶囊课程。
92 1
正则表达式_2
|
编译器 测试技术 C++
正则表达式_1
b站:奇乐编程 10分钟快速掌握正则表达式
104 1
正则表达式_1
|
数据采集 机器学习/深度学习 移动开发
我学会了,正则表达式
爬虫是**非常的**的强大,相信不少朋友都有所耳闻,它帮助我们更快地“获得”我们所要关键数据。那么,它怎么知道我们要需要什么内容?它又是如何工作的?在这篇文章里,我们一起来看看。
80 0
我学会了,正则表达式
|
XML 数据安全/隐私保护 数据格式
|
移动开发
【小技巧】正则表达式
正则表达式小技巧 1 空行替换 ^\r\n
501 0
|
机器学习/深度学习 Windows JavaScript