Java regular expression terminator

Java正则表达式类 Pattern

  • 正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本
  • java.util.regex 包主要包括以下三个类:
    • Pattern 类:正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
    • Matcher 类:是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
    • PatternSyntaxException:是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

常用的正则表达式语法

  • . 匹配除"\r\n"之外的任何单个字符
  • ^ 只从输入字符串开始的位置匹配(而且只匹配一次)。如,“a3131sasfasd”.replaceAll("^\\d{2}", “Z”); //结果是没有被替换,因为数字没在开头。但这个"a3131sasfasd".replaceAll("\\d{2}", “Z”);//结果就是aZZsasfasd
  • $ 只从输入字符串结尾的位置匹配,原理同上一个
  • * 零次或多次匹配前面的(一个)字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}。
  • + 一次或多次匹配前面的字符或子表达式,等效于 {1,}
  • ? 表示匹配模式是"非贪心的",即匹配搜索到的尽可能的字符串,而默认的"贪心的"模式匹配搜索到的、尽可能长的字符串。例如,在字符串"oooo"中,"o+?“只匹配单个"o”,而"o+“匹配所有"o”
  • {n} 正好匹配 n 次(注意只作用于该语法的前一个字符)。n 是非负整数。如,"o{2}"与"Bob"中的"o"不匹配,但与"food"中的两个"o"匹配
  • {n,} 至少匹配 n 次。n 是非负整数。如,"o{2,}“不匹配"Bob"中的"o”,而匹配"foooood"中的所有 o。"o{1,}“等效于"o+”。"o{0,}“等效于"o*”
  • {n,m} 匹配至少 n 次,至多 m 次。m 和 n 是非负整数, n <= m。如,"o{1,3}"匹配"fooooood"中的头三个 o。‘o{0,1}’ 等效于 ‘o?’
  • x|y 匹配 x 或 y。如,‘z|food’ 匹配"z"或"food"
  • [xyz] 字符集。匹配包含的任一字符。例如,"[abc]“匹配"plain"中的"a”
  • [^xyz] 反向字符集。匹配未包含的任何字符。例如,"[^abc]“匹配"plain"中"p”,“l”,“i”,“n”
  • [a-z] 字符范围。匹配指定范围内的任何字符。例如,"[a-z]"匹配"a"到"z"范围内的任何小写字母
  • [^a-z] 反向范围字符。匹配不在指定的范围内的任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符
  • \s+ 匹配至少一个空格(this\s+is\s+text)
  • \d 数字字符匹配。等效于 [0-9]
  • \D 非数字字符匹配。等效于[^0-9]

参考 https://www.runoob.com/java/java-regular-expressions.html

猜你喜欢

转载自blog.csdn.net/rakish_wind/article/details/115449254
今日推荐