replaceAll()中正则表达式的应用

(?i): 忽略大小写;
(?m): 在这种模式下,'^'和'$'分别匹配一行的开始和结束. 缺省为匹配整个字符串的开始和结束;
(?s): 在这种模式下,表达式'.'可以匹配任意字符,包括表示[b]一行的结束符[/b]。默认情况下,表达式'.'不匹配行的结束符。

测试代码:
String fromStr = "Limited\n\n this is a limited CDB clear";
System.out.println(fromStr.replaceAll("(?i)limIted", "full"));
System.out.println(fromStr.replaceAll("(?m)(?i)limIted", "full"));
System.out.println(fromStr.replaceAll("Limited.", "full"));
System.out.println(fromStr.replaceAll("(?s)Limited.", "full"));
System.out.println(fromStr.replaceAll("(?s)(?i)Limited.", "full"));
System.out.println(fromStr.replaceAll("(?m)Limited$", "full"));
System.out.println(fromStr.replaceAll("Limited$", "full"));

运行结果:
full

this is a full CDB clear
full

this is a full CDB clear
Limited

this is a limited CDB clear
full
this is a limited CDB clear
full
this is a fullCDB clear
full

this is a limited CDB clear
Limited

this is a limited CDB clear


另外3种以后用到再试:
(?x): 在这种模式下,匹配时会忽略(正则表达式里的)空格字符(注:不是指表达式里的"\\s",而是指表达式里的空格,tab,回车之类)。注释从#开始,一直到这行结束。可以通过嵌入式的标志来启用Unix行模式。
(?u): 在这个模式下,如果你还启用了CASE_INSENSITIVE标志,那么它会对Unicode字符进行大小写不明感的匹配。默认情况下,大小写不明感的匹配只适用于US-ASCII字符集。
(?d): 在这个模式下,只有'\n'才被认作一行的中止,并且与'.','^',以及'$'进行匹配。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值