A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  • regex正则表达式:用到string的matches(regex);  符合就返回true;不符合返回false;
  • regex="[1-9][0-9]{4,14}"或者[1-9]\\d{4,14}     \要转义。用\\
  • import java.util.regex.Pattern     正则表达式的编译表达形式。
  • 规则:
    1. 构造 匹配

    2. 字符
    3. x 字符 x
    4. \\ 反斜线字符
    5. \0n 带有八进制值 0 的字符 n (0 <= n <= 7)
    6. \0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)
    7. \0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
    8. \xhh 带有十六进制值 0x 的字符 hh
    9. \uhhhh 带有十六进制值 0x 的字符 hhhh
    10. \t 制表符 ('\u0009')
    11. \n 新行(换行)符 ('\u000A')
    12. \r 回车符 ('\u000D')
    13. \f 换页符 ('\u000C')
    14. \a 报警 (bell) 符 ('\u0007')
    15. \e 转义符 ('\u001B')
    16. \cx 对应于 x 的控制符

    17. 字符类
    18. [abc] a、b 或 c(简单类)
    19. [^abc] 任何字符,除了 a、b 或 c(否定)
    20. [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
    21. [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
    22. [a-z&&[def]] d、e 或 f(交集)
    23. [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
    24. [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

    25. 预定义字符类
    26. . 任何字符(与行结束符可能匹配也可能不匹配)
    27. \d 数字:[0-9]
    28. \D 非数字: [^0-9]
    29. \s 空白字符:[ \t\n\x0B\f\r]
    30. \S 非空白字符:[^\s]
    31. \w 单词字符:[a-zA-Z_0-9]
    32. \W 非单词字符:[^\w]

    33. POSIX 字符类(仅 US-ASCII)
    34. \p{Lower} 小写字母字符:[a-z]
    35. \p{Upper} 大写字母字符:[A-Z]
    36. \p{ASCII} 所有 ASCII:[\x00-\x7F]
    37. \p{Alpha} 字母字符:[\p{Lower}\p{Upper}]
    38. \p{Digit} 十进制数字:[0-9]
    39. \p{Alnum} 字母数字字符:[\p{Alpha}\p{Digit}]
    40. \p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
    41. \p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
    42. \p{Print} 可打印字符:[\p{Graph}\x20]
    43. \p{Blank} 空格或制表符:[ \t]
    44. \p{Cntrl} 控制字符:[\x00-\x1F\x7F]
    45. \p{XDigit} 十六进制数字:[0-9a-fA-F]
    46. \p{Space} 空白字符:[ \t\n\x0B\f\r]

    47. java.lang.Character 类(简单的 java 字符类型)
    48. \p{javaLowerCase} 等效于 java.lang.Character.isLowerCase()
    49. \p{javaUpperCase} 等效于 java.lang.Character.isUpperCase()
    50. \p{javaWhitespace} 等效于 java.lang.Character.isWhitespace()
    51. \p{javaMirrored} 等效于 java.lang.Character.isMirrored()

    52. Unicode 块和类别的类
    53. \p{InGreek} Greek 块(简单块)中的字符
    54. \p{Lu} 大写字母(简单类别)
    55. \p{Sc} 货币符号
    56. \P{InGreek} 所有字符,Greek 块中的除外(否定)
    57. [\p{L}&&[^\p{Lu}]]  所有字母,大写字母除外(减去)

    58. 边界匹配器
    59. ^ 行的开头
    60. $ 行的结尾
    61. \b 单词边界
    62. \B 非单词边界
    63. \A 输入的开头
    64. \G 上一个匹配的结尾
    65. \Z 输入的结尾,仅用于最后的结束符(如果有的话)
    66. \z 输入的结尾

    67. Greedy 数量词
    68. X? X,一次或一次也没有
    69. X* X,零次或多次
    70. X+ X,一次或多次
    71. X{n} X,恰好 n 次
    72. X{n,} X,至少 n 次
    73. X{n,m} X,至少 n 次,但是不超过 m 次

    74. Reluctant 数量词
    75. X?? X,一次或一次也没有
    76. X*? X,零次或多次
    77. X+? X,一次或多次
    78. X{n}? X,恰好 n 次
    79. X{n,}? X,至少 n 次
    80. X{n,m}? X,至少 n 次,但是不超过 m 次

    81. Possessive 数量词
    82. X?+ X,一次或一次也没有
    83. X*+ X,零次或多次
    84. X++ X,一次或多次
    85. X{n}+ X,恰好 n 次
    86. X{n,}+ X,至少 n 次
    87. X{n,m}+ X,至少 n 次,但是不超过 m 次

    88. Logical 运算符
    89. XY X 后跟 Y
    90. X|Y X 或 Y
    91. (X) X,作为捕获组

    92. Back 引用
    93. \n 任何匹配的 nth 捕获组

    94. 引用
    95. \ Nothing,但是引用以下字符
    96. \Q Nothing,但是引用所有字符,直到 \E
    97. \E Nothing,但是结束从 \Q 开始的引用

    98. 特殊构造(非捕获)
    99. (?:X) X,作为非捕获组
    100. (?idmsux-idmsux)  Nothing,但是将匹配标志i d m s u x on - off
    101. (?idmsux-idmsux:X)   X,作为带有给定标志 i d m s u x on - off
    102. 的非捕获组  (?=X) X,通过零宽度的正 lookahead
    103. (?!X) X,通过零宽度的负 lookahead
    104. (?<=X) X,通过零宽度的正 lookbehind
    105. (?<!X) X,通过零宽度的负 lookbehind
    106. (?>X) X,作为独立的非捕获组
    复制代码


  • 正则表达式的功能:
    判断是否符合这个正则表达式。      matches(string regex);
    注意    .      要用   \\.     
    里面可以用()来把某些内容包起来。        
  • 拆分字符串    string[]  split(regex);    18-24   按照  -   来分割 成一个string数组。     然后用Integer.parseInt(string[x])    将字符串按照10进制进行解析。
  • \\   代表一个\     对于路径里面的\\正则表达式要用“\\\\”
  • 替换功能: string类的replaceAll(string regex,string  replacement)    用后者替换所有匹配regex表达式的字符串。
  • 模式个匹配器的基本匹配顺序:Pattern和Matcher
  • public boolean find()尝试查找与该模式匹配的输入序列的下一个子序列。此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配的第一个字符开始。如果匹配成功,则可以通过 startendgroup 方法获取更多信息。
  • find()函数之后调用group()函数,才能返回找到的字符串第二次调用find()会找下一个所以要用一个循环来调用,判断条件就是find之后是true还是false

2 个回复

正序浏览

总结得挺好的,学习了
回复 使用道具 举报
总结得挺好的,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马