MENU

RegularExpressions—— 正则表达式

July 26, 2018 • Read: 3933 • Java阅读设置

  • 用途

    • 字符串匹配(字符匹配)
    • 字符串查找
    • 字符串替换
  • 例如:

    • IP 地址是否正确
    • 从网页中揪出 email 地址
    • 从网页中揪出链接等
    • java.lang.String
    • java.util.regex.Pattern
    • java.util.regex.Matcher

初识正则表达式展开目录

  • import java.util.regex.*;
  • public class TestReg {
  • public static void main(String[] args) {
  • p("abc".matches("..."));//true
  • p("a8729a".replaceAll("\\d","-"));//a----a
  • Pattern p = Pattern.compile("[a-z]{3}");
  • Matcher m = p.matcher("fgh");
  • p(m.matches());//true
  • }
  • public static void p(Object o) {
  • System.out.println(o);
  • }
  • }

matches展开目录

  • import java.util.regex.*;
  • public class TestReg {
  • public static void main(String[] args) {
  • p("a".matches("."));//.代表任意一个字符
  • p("aaa".matches("a*"));//*代表a0个或多个
  • p("a".matches("a+"));//+代表a一个或多个
  • p("a".matches("a?"));//?代表a一个或一个也没有
  • p("12496218225".matches("\\d{11}"));//恰好11个数字
  • p("12496218225".matches("\\d{9,}"));//至少12个数字
  • p("12496218225".matches("\\d{3,11}"));//至少3个数字,不超过11个数字
  • p("192.168.0.0".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));
  • p("192".matches("[0-2][0-9][0-9]"));//第一位数字范围是0-2,第二位是...第三位是...
  • }
  • public static void p(Object o) {
  • System.out.println(o);
  • }
  • }

范围展开目录

  • import java.util.regex.*;
  • public class TestReg {
  • public static void main(String[] args) {
  • p("a".matches("[abc]"));//abc中的一个true
  • p("a".matches("[^abc]"));//不包含abc中的任意一个false
  • p("a".matches("[a-zA-Z]"));//范围true
  • p("a".matches("[a-z]|[A-Z]"));//或者true
  • p("a".matches("[a-z[A-Z]]"));//效果同上面一样,或者true
  • p("a".matches("a-z&&[RPG]"));//交集false
  • }
  • public static void p(Object o) {
  • System.out.println(o);
  • }
  • }
Last Modified: October 7, 2018
Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment