1、不区分大小写模式(IgnoreCase):
在匹配文本字符串时,不区分文本字符串中的大小写。
在不同编程语言中,此模式的指定方式可能有所不同。例如,在Python中,可以使用常量re.I或re.IGNORECASE;在JavaScript中,可以在正则表达式后添加i标志,如/regex/i。
2、单行模式(Singleline/Single Line Mode/Dotall):
更改点号(.)的含义,使其匹配任意字符,包括换行符\n。
在默认模式下,点号(.)通常不匹配换行符。但在单行模式下,点号可以匹配包括换行符在内的任意字符。
不同的编程语言和正则引擎可能有不同的指定方式。例如,在Python中,可以使用常量re.S或re.DOTALL;在正则表达式中,可以直接使用模式修饰符(?s)来指定单行模式。
3、多行模式(Multiline):
影响和$的匹配规则。在默认模式下,^和$分别匹配整个字符串的起始位置和结束位置。但在多行模式下,和$可以匹配字符串内部的每一行的起始位置和结束位置。
在不同的编程语言和正则引擎中,多行模式的指定方式也有所不同。例如,在Python中,可以使用常量re.M或re.MULTILINE来指定多行模式。
4、注释模式:
允许在正则表达式中添加注释,以提高可读性。但需要注意的是,并非所有的正则引擎都支持注释模式。
在支持注释模式的引擎中,通常使用(?#comment)的格式来添加注释,其中comment是注释的内容。