正则表达式-(4)匹配模式

所谓匹配模式,指的是正则中一些改变元字符匹配行为的方式,比如匹配时不区分英文字母大小写。常见的匹配模式有 4 种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。

一、不区分大小写模式(Case-Insensitive)

不区分大小写是匹配模式的一种,当把模式修饰符放在整个正则前面时,就表示整个正则表达式都是不区分大小写的。模式修饰符是通过(? 模式标识)的方式来表示的。 我们只需要把模式修饰符放在对应的正则前,就可以使用指定的模式了。

 

1.不区分大小写模式的指定方式,使用模式修饰符 (?i);

 

2.修饰符如果在括号内,作用范围是这个括号内的正则,而不是整个正则;

3.使用编程语言时可以使用预定义好的常量来指定匹配模式。

二、点号通配模式

正则中提供了一种模式,让英文的点(.)可以匹配上包括换行的任何字符。这个模式就是点号通配模式,有很多地方把它称作单行匹配模式,但这么说容易造成误解,毕竟它与多行匹配模式没有联系。

单行的英文表示是Single Line,单行模式对应的修饰符是(?s),用 the cat 来举一个点号通配模式的例子。

 

三、多行匹配模式

多行模式的作用在于,使 ^ 和 $ 能匹配上每行的开头或结尾,我们可以使用模式修饰符号 (?m) 来指定这个模式。

 

四、注释模式

。我们在写代码的时候,通常会在一些关键的地方加上注释,让代码更易于理解。很多语言也支持在正则中添加注释,让正则更容易阅读和维护,这就是正则的注释模式。正则中注释模式是使用 (?#comment) 来表示。

(\w+)(?#word) \1(?#word repeat again)

 

posted @ 2023-02-08 21:47  为什么不是这样呢  阅读(155)  评论(0)    收藏  举报