通过例子学习正则式

“|“符号在正则式中的运用

我们需要匹配这三个单词,很简单。 方法一: .{4}
.符号为通配符,{}限定了数量即为匹配四个字符

方法二: [BTC].{3} []符号限定了匹配的内容

方法三: [^\s]{4} [\^] 为不匹配中括号的内容[\^\s]非空字符

方法四: (B|T|C)orn

这个方法是我们要说的 (||)使用的是或逻辑 即 这个匹配不成功则尝试下一个匹配内容,注意要使用括号将其包括起来,否则将会匹配 B或T或Corn

{}的晋级运法

我们在上一篇讲过,我们可以使用{}来规定符号前内容的出现次数。例如上段所讲。 但,有时候我们不知道出现的具体次数,我们可以在{}中加入逗号,来表示多个出现次数。例如[\^BTC]{3,5} 就表示 出现3个不含BTC内容的字符,或者5个。

一个匹配网址的技巧

我们想要匹配github。 方法一:www.(.+).com 这样我们就把github输出到了一个单元内。我们可以在Substitution中用$1来输出

方法二:www.([gthuib]+).com 与方法一 大致相同

方法三:www.([\^.]+) [\^.] 即为排除.字符

空格在正则式中的使用

请注意 @huijian222. 后面不带空格,因为我们的正则式为: @.+ 后面有一个空格,这样我们就会匹配@huijian222 一二三四 这个文本。而不是两则都匹配。因为该正则式的意思为@.+ 空格 即@之后包含空格的所有字符。所以,在实际使用中,我们应该注意空格对匹配的影响

非贪婪模式

+? 就是一个典型的非贪婪匹配模式,非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 “oooo”,’o+?’ 将匹配单个 “o”,而 ‘o+’ 将匹配所有 ‘o’。

例如:

正则式:@.+?空格
则匹配@huijian222,空格 这个文本。
因为有空格的限制所以不会匹配@huijian222.这一个文本
也不会只匹配@h 这两个字符 。

Tagged:

发表评论

电子邮件地址不会被公开。 必填项已用*标注