国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

JAVA編程中正則表達式的使用技巧

2023-06-10 12:43:00
字體:
來源:轉載
供稿:網友

本文講解了Java正則表達式的使用方法。

JAVA 正則表達式涉及到三個類:String,Pattern和Matcher。Pattern是要匹配的模式,Matcher是匹配的結果。例如:

Pattern p = Pattern.complie("[a-z]{3}");
        Matcher m = p.mather("abc");

下面是一些常用的匹配技巧:

(1)想在正則表達式中匹配一個反斜線用四個反斜線表示: "//".matches(////);

(2)配空白行 " /n".matches("^[//s&&[^//n]]*//n$");

(3)出匹配結果在整個字符串的開始位置和結束位置

Pattern p = Pattern.complie("//d{3,5}");
        String a = "123-2135-155-00";
        Matcher m = p.matcher(s);
        m.matches() // 匹配整個字符串,所以這里是false;
        m.reset();
        while(m.find()) // 找一個和這個模式所匹配的子串
        {
       System.out.println(m.start() + "To" + m.end());
  }

(4)匹配到的java都轉換成大寫的

Pattern p = Pattern.complie("java", Pattern.CASE_INSENSITIVE);
  Matcher m = p.matcher("java Java JaVa IloveJava You HateJaVA");
  m.replaceAll("JAVA");

(5)匹配偶數個轉換為大寫,奇數個轉換為小寫

package zx.test;
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
  public class TestPattern
  {
    public static void main(String[] args)
    {
      StringBuffer newString = new StringBuffer();
      String isPatternString = "java Java JaVa IloveJava You HateJaVA";
      Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
      Matcher m = p.matcher(isPatternString);
      int i = 0;
      while(m.find())
      {
        i++;
        if (i % 2 == 0)
        {
          m.appendReplacement(newString, "java");
        }
        else
        {
          m.appendReplacement(newString, "JAVA");
        }
       }
       m.appendTail(newString);
       System.out.println(newString);
     }
  }

輸出結果:JAVA java JAVA Ilovejava You HateJAVA

(6)Java正則表達式分組:

private static void testGroup()
  {
    String s = "3412afdsaf-34ijii-422342k23-423423fsdfaf";
    Pattern p = Pattern.compile("(//d{1,10})([a-z]{1,9})"); // 組1:(//d{1,10}) 組2:([a-z]{1,9})
    Matcher m = p.matcher(s);
    while(m.find())
    {
      System.out.println("Group0: " + m.group() + " Group1: " + m.group(1) + " Group2: " + m.group(2));
    }
  }

輸出結果:

Group0: 3412afdsaf Group1: 3412 Group2: afdsaf
  Group0: 34ijii Group1: 34 Group2: ijii
  Group0: 422342k Group1: 422342 Group2: k
  Group0: 423423fsdfaf Group1: 423423 Group2: fsdfaf

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漠河县| 当阳市| 汾阳市| 海南省| 封开县| 会东县| 从江县| 永平县| 贵德县| 资阳市| 长垣县| 铅山县| 库伦旗| 府谷县| 林州市| 新闻| 铜山县| 兴安县| 如东县| 会泽县| 谢通门县| 舟山市| 双峰县| 石屏县| 昌江| 曲麻莱县| 扶绥县| 龙岩市| 桑植县| 北海市| 根河市| 宣恩县| 通辽市| 海丰县| 汾阳市| 依安县| 墨竹工卡县| 平安县| 固镇县| 安阳县| 临桂县|