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

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

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

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

三、某种字符类型的匹配
[\d]表示匹配某一位数字

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

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

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

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

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

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

开头匹配文字位数为两个的匹配方式。
六、$ 表示结尾匹配

七、组选择 ()
有时候我们要选择的文字字符串是不包括分割符,比如不选择“,”或者“.”,这就需要我们把要选择的部分单独拿出来。
我们选择前面的水果(非贪婪模式)

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

网友评论