day50-正则表达式01( 四 )

表示bc不区分大小写

  • a((?i)b)c表示只有b不区分大小写
  • Pattern pattern = Pattern.compile(regStr,Pattern.CASE_INSENSITIVE);
  • [^a-z]说明:
    [^a-z]表示可以匹配不是a-z中的任意一个字符
    [^A-Z]表示可以匹配不是A-Z中的任意一个字符
    [^0-9]表示可以匹配不是0-1中的任意一个字符
    如果用 [^a-z]去匹配“a11c8”会得到什么结果?结果:1、1、8
    用 [^a-z]{2}又会得到什么结果?结果是:11
  • [abcd]表示可以匹配abcd中的任意一个字符
  • [^abcd]表示可以匹配不是abcd中的任意一个字符
  • \\d表示可以匹配0-9的任意一个数字 , 相当于[0-9]
  • \\D表示可以匹配不是0-9的任意一个数字,相当于[^0-9],即匹配非数字字符
  • \\w表示可以匹配任意英文字符、数字和下划线,相当于[a-zA-Z0-9_]
  • \\W相当于[^a-zA-Z0-9_],与\\w相反
  • \\s匹配任何空白字符(空格,制表符等)
  • \\S匹配任何非空白字符 , 与\\s相反
  • .匹配除\n\r之外的所有字符,如果要匹配.本身则需要使用\\
  • package li.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;//演示字符匹配符的使用public class RegExp03 {public static void main(String[] args) {String content = "a1 1\r@c^8ab_c\nA BC\r\n";//String regStr = "[a-z]";//匹配 a-z 之间任意的一个字符//String regStr = "[A-Z]";//匹配 A-Z 之间任意的一个字符//String regStr = "[0-9]";//匹配 0-9 之间任意的一个字符//String regStr = "abc";//匹配 abc 字符串[默认区分大小写]//String regStr = "(?i)abc";//匹配 abc 字符串[不区分大小写]//String regStr = "[^a-z]";//匹配不在 a-z 之间任意的一个字符//String regStr = "[^0-9]";//匹配不在 0-9 之间任意的一个字符//String regStr = "[abcd]";//匹配在 abcd 中任意的一个字符//String regStr = "\\D";//匹配不在 0-9 中的任意的一个字符[匹配非数字字符]//String regStr = "\\w";//匹配任意英文字符、数字和下划线//String regStr = "\\W";//\[^a-zA-Z0-9_]//String regStr = "\\s";//匹配任何空白字符(空格,制表符等)//String regStr = "\\S";//匹配任何非空白字符String regStr = ".";//.匹配除\n之外的所有字符,如果要匹配.本身则需要使用\\//说明:当创建Pattern对象时,指定Pattern.CASE_INSENSITIVE,表示匹配是不区分字母大小写的//Pattern pattern = Pattern.compile(regStr,Pattern.CASE_INSENSITIVE);Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content);while (matcher.find()) {System.out.println("找到:" + matcher.group(0));}}}5.4.3元字符-选择匹配符在匹配某个字符串的时候是选择性的 , 即:既可以匹配这个,又可以匹配那个,这时需要用到选择匹配符号|
    day50-正则表达式01

    文章插图
    例子:
    package li.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegExp04 {public static void main(String[] args) {String content ="hangshunping 韩 寒冷";String regStr="han|韩|寒";Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content);while (matcher.find()) {System.out.println("找到:" + matcher.group(0));}}}
    day50-正则表达式01

    文章插图
    5.4.4元字符-限定符用于指定其前面的字符和组合项连续出现多少次
    day50-正则表达式01

    文章插图

    推荐阅读