正则表达式——不区分大小写模式

第5章 匹配模式

所谓的匹配模式(match mode),指的是匹配时使用的规则。设置特定的模式,可能会改变对正则表达式的识别,也可能会改变正则表达式中字符的匹配规定。常用的匹配模式一共有4种:不区分大小单行模式多行模式注释模式

5.1 不区分大小写模式

  必须首先了解模式的指定方式。通常,有两种办法指定匹配模式:以模式修饰指定,或者以预定义的常量作为特俗参数传入指定。

语言test
.NETRegexOptions.IgnoreCase
JavaPattern.CASE_INSENSITIVE
JavaScript/regex/i
PHP/regex/i
Pythonre.I
re.IGNORECASE
RubyRegexp::IGNORECASE
/regex/i

5.2 单行模式

  单行模式对应的模式修饰符是s(Single line),所以如果用模式修饰符,可以在表达式的开头用(?s)(Python)指定。

语言test
.NETRegexOptions.Singleline
JavaPattern.DOTALL
JavaScript不支持此模式
PHP/regex/s
Pythonre.S
re.DOTALL
RubyRegexp::MULTILINE
/regex/m

5.3 多行模式

  单行模式影响的是点号的匹配规则:在默认模式下,点号.可以匹配除换行符之外的任何字符,在单行模式下,点号.可以匹配包括换行符在内的任何字符;多行模式影响的是^和&的匹配规则:在默认模式下,^$匹配的是整个字符串的起始位置和结束位置,但在多行模式下,它们也能匹配字符串内部某一行文本的起始位置和结束位置。

语言test
.NETRegexOptions.Multiline
JavaPattern.MULTILINE
JavaScript/regex/m
PHP/regex/m
Pythonre.M
re.MULTILINE
Ruby默认即为多行模式

5.4 注释模式

  注释模式对应的模式修饰符是x(extended mode, 扩展模式,但更常见的写法是 free-spacing mode,宽松格式模式)。

语言test
.NETRegexOptions.IgnorePatternWhitespace
JavaPattern.COMMENTS
JavaScript/regex/x
PHP/regex/x
Pythonre.X
re.VERBOSE
RubyRegexp::EXTENDED
/regex/x

转载于:https://www.cnblogs.com/gaara0305/p/10097086.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值