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

    文章插圖

    推薦閱讀