正则几点小结(二)

2020-02-23  本文已影响0人  拉格朗日没有定理

一、贪婪和非贪婪

比如<1><2><3><4><5><6>要选择<>里面的数字会怎么写?r“<.*>“,是这样吗?我们来看一下。

贪婪模式

为什么会出现全部选择现象?这是因为正则会更多的匹配更多的内容,使得全部的表达式全部选中。如何单个选择呢?使用r”<.*?>“取消贪婪模式。

非贪婪模式

二、转义

元字符转义?何为转义,比如 . 点代表任意一位字符 ,而字符串恰巧又有.点做分割怎么办?举例来说:“香蕉.234324,苹果.3r43jkl,橘子.ioifaof”如何获取前面的水果呢?r”.*.“  这种写法吗?

未加转义字符

为什么会出现全部选择?这里的"."是以元字符的形式出现,而不是字符串里的. 分割,所以要加上转义 ‘\.’使他不在以转义字符的方式存在。

加转义过后

三、某种字符类型的匹配

[\d]表示匹配某一位数字

【\d】

[\w]表示任何一个文字字符

[\W]

[\s]表示任何一个空格字符(\t \n space)

[\s]

四、方括号[  ]

[  ]表示匹配几个字符之一,例如 [a,b,c]指a,b,c 任何一个字符[j-z]是指j以后的任何一个字母。

方括号字符

特别注意 [  ]里面的点并不代表任何一个字符,就仅仅表示点。

失去元字符原有意义

五、符号 ^ 表示开头和非

符号^ 表示匹配的开头的意思,在[^ ]表示非有子集。

匹配所有非数值

这是把非数值的字符匹配出来。

开头匹配

开头匹配文字位数为两个的匹配方式。

六、$ 表示结尾匹配

非数字结尾匹配

七、组选择 ()

有时候我们要选择的文字字符串是不包括分割符,比如不选择“,”或者“.”,这就需要我们把要选择的部分单独拿出来。

我们选择前面的水果(非贪婪模式)

包含分割的点

我们可以加入()使得要选的东西单独拿出来。(.*?)才是我们所需要的东西。

水果分组
上一篇 下一篇

猜你喜欢

热点阅读