java 正则模式修正符_正则表达式模式修正符

模式修正符号在正则表达式定界符之外使用(最后一个斜线“/”之后),例如“php/i”。其中“/php/”是一个正则表达式的模式,而“i”就是修正此模式所使用的修正符号,用来匹配时不区分大小写。模式修正符可以调整正则表达式的解释,扩展了正则表达式在匹配、替换等操作时的某些功能,而且模式修正符号也可以组合使用,更增强了正则表达式的处理能力。例如“/php/Uis”则是使用“U”、“i”和“s”三个模式修正符组合在一起使用。模式修正符对编写简洁而简小的表达式大有帮助,在下面的表格中,列出了一些常用的模式修正符及其功能说明,如下表所示。

11.jpg

下面是几个简单的示例,用以说明表中模式修正符中的使用。在使用模式修正符时,其中的空格和换行被忽略,如果使用其他非模式修正字符会导致错误。如下所示:

模式“/Web Server/ix”可以用来匹配字符串“webServer”,忽略大小写和空白。

模式“/a.*e/”去匹配字符串“abcdefgabcdefgabcdefg”,由于模式中的“.*”按贪婪匹配,会从这个字符串中匹配出“abcdefgabcdefgabcde”。从第一个“a”字母开始到最后一个“e”字母结束,都属于“.*”的内容,所以不是“abcde”。如果想取消这种贪婪匹配,想从第一个字母“a”只匹配到第一个字母“e”就结束,匹配出字符串“abcde”,可以使用模式修正符号“U”或在模式中使用“.*”后面跟上“?”,例如使用模式“/a.*e/U”或“/a.*?e/”。相反,如果两个一起使用又启用了贪婪匹配,例如模式“/a.*?e/U”则匹配字符串“abcdefgabcdefgabcdefg”中的“abcdefgabcdefgabcde”,而不是“abcde”。建议在模式中使用“.*”后面跟上“?”代替模式修正符号“U”,因为在其他一些编程语言中,如果也是采用Perl兼容的正则函数,可能没有模式修正符号“U”,例如JavaScript中就不存在这个模式修正符号。

模式“/^is/m”可以匹配字符串“this\nis\na\ntes”中的is,因为使用模式修正符“m”将字符串视为了多行,第二行的开头出现了“is”则匹配成功。默认的正则开始“^”和结束“$”将目标字符串作为单一的一“行”(甚至其中包含有换行符也是如此)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正则表达式是一种用于描述、匹配和操作字串的强大工具。它由一系列字和特殊字组成,可以用来检测字串是否合某种模式,或者从字串中提取合某种模式的部分。 正则表达式的主要作用如下: 1. 匹配和搜索:正则表达式可以用来匹配和搜索字串中合某种模式的部分。通过使用特定的元字模式匹配规则,可以快速定位和提取满足条件的字串。例如,可以使用正则表达式来验证邮箱地址、手机号码或身份证号码是否合特定的格式要求。 2. 替换和修改:正则表达式可以用于替换字串中的特定部分。通过使用正则表达式的替换方法,可以将合某种模式的部分替换为指定的字串。这对于对文本进行格式化、过滤或修正非常有用。 3. 验证和校验:正则表达式可以用于对输入数据进行验证和校验。通过定义特定的模式和规则,可以检查用户输入是否合预期要求。例如,可以使用正则表达式来验证密码强度、检查日期格式或过滤非法字。 4. 分割和提取:正则表达式可以用于分割字串,将一个长字串拆分为多个部分。通过指定分隔或特定的模式,可以将字串按照一定的规则进行切割,从而得到需要的部分。这在文本处理和数据提取中非常常见。 总结: 正则表达式是一种强大的工具,可以用于匹配、搜索、替换、验证、校验、分割和提取字串。它在文本处理、数据处理和表单验证等领域具有广泛的应用。掌握正则表达式可以极大地提高对字串的操作和处理能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值