<button id="u2w23"></button>

<tbody id="u2w23"><track id="u2w23"></track></tbody><dd id="u2w23"><track id="u2w23"></track></dd><button id="u2w23"><acronym id="u2w23"></acronym></button> <tbody id="u2w23"><noscript id="u2w23"></noscript></tbody>

  • <button id="u2w23"></button><li id="u2w23"><acronym id="u2w23"><cite id="u2w23"></cite></acronym></li>

  • Android中的正則表達式

    [來源] 達內    [編輯] 達內   [時間]2012-12-06

    正則表達式相對強大,如果過去做過Web開發的你,對于用戶輸入的過濾可能相當的熟悉。具體的正則式編寫可以查看網上的相關內容。

      對于數據的提取查找,我們推薦大家使用功能強大的正則表達式,在Android平臺中可以方便的使用Java VM中自帶的Regex正則表達式庫,實際測試性能比STL和Boost的差不了多少,當然了Android上的正則庫是NDK編寫的底層。

      這里我們就拿常用的電話號碼匹配來做個例子,大家都知道國外的號碼中間有幾個橫杠,這里我們就用國內的區號來測試吧。

      String phoneArray = "cwj 的號碼:021-12345n" + "smart 的號碼:021-88888n"+ "李雷 的號碼:010-99999n" + "韓美美 的號碼:021-66666n";

      如果我們需要匹配以021開頭的正則表達式為 .*021-d{5} ,我們使用Java的Pattern類編譯封裝,使用matcher來查找,其中group方法就是結果,當然group(0)是找的自己串,同時可能有 多個結果,注意數組下溢問題。

      Pattern pattern = Pattern.compile(".*021-d{5}");

      Matcher matcher = pattern.matcher(phones1);

      while(matcher.find())

      {

      String s= matcher.group() ;

      Log.e(s,"android123.com.cn"); // 使用Android的Logcat查看運行結果,直接使用e標志紅色的為結果。

      }

      正則表達式相對強大,如果過去做過Web開發的你,對于用戶輸入的過濾可能相當的熟悉。具體的正則式編寫可以查看網上的相關內容。

    資源下載

    ?