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

相关文章
|
7月前
|
JavaScript 前端开发 Java
正则表达式详细讲解
正则表达式详细讲解
正则表达式详细讲解
|
移动开发 JavaScript 前端开发
正则表达式总结
什么是正则表达式? 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。
104 1
|
数据安全/隐私保护
常用的正则表达式
常用的正则表达式
最全的常用正则表达式大全
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。
1371 0
常用正则表达式
  转载自:https://sunsian.github.io/2014/03/08/first4/           匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在...
1169 0
最全面的常用正则表达式大全
就算懂正则的朋友,在遇到需要用正则校验数据时,也往往是在网上去找很久,结果找来的还是不很符合要求。 所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。
1145 0
|
JavaScript 前端开发 索引
|
Shell Linux Python
正则表达式与运用
正则表达式用的地方是很多的。比如字符串处理过程中。最近遇到记录一下。 1. 比如在shell中 1 #!/bin/bash 2 3 str="date:2017-11-28 os:centos blackbord:blog" 4 5 echo $str | grep centos --colo...
1290 0