- Java與Android移動應用開發:技術、方法與實踐
- 曹化宇
- 633字
- 2019-12-06 15:39:24
6.4 正則表達式
正則表達式的操作方式是通過模式(pattern)來匹配(match)的,而不是通過字符串的內容進行查詢。
正則表達式操作的資源定義在java.util.regex包中,主要的類型包括Pattern和Matcher類。其中,Pattern類定義匹配的模式,Matcher類根據模式進行匹配操作,并根據需要處理匹配的結果。
下面的代碼使用簡單的模式來匹配手機號碼。

可以修改num的內容來觀察代碼的運行結果。當指定模式時,首先第一個字符必須是1,然后是0~9的數字,{10}?的含義是前一條規則必須有10次,即在1的后面必須有10個數字,這樣就保證了從1開始的11位數字規則,也就是手機號碼格式。
下面了解一些常用的匹配規則。
首先,如果需要指定某個字符,可以直接定義。對于一些特殊字符,可以使用轉義字符進行轉義。
[]定義一個字符,可以指定允許的字符范圍。如[0-9]表示一位數字,[a-z]表示一個小寫字母,[a-zA-Z]表示一個大寫或小寫字母,[aeiou]表示只是5個字母中的一個。此外,如果不允許某個字符,可以在規則前使用^符號,如[^AB]規則表示不允許出現A或B字符。
單詞字符(包括字母、數字和下畫線),可以使用\w轉義,不允許單詞字符時使用\W轉義。如[\\w]{6,15}?表示6~15位的單詞字符。
下面的代碼會判斷一個E-mail地址格式是否正確。

在這個規則中,^符號表示必須以[a-zA-Z0-9]中的內容開頭,$符號必須以前一條規則作為結束,這是指\\w+內容,即字母、數字和下畫線。規則中的+符號表示前一條規則至少應用一次,*符號表示前一規則應用零次或多次。
關于正則表達式,需要在實踐中多加練習,逐漸熟悉各種規則,并能夠靈活應用,而對于經常使用的格式檢查,還可以進行封裝。
推薦閱讀
- scikit-learn Cookbook
- JSP網絡編程(學習筆記)
- Java應用與實戰
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- 算法大爆炸:面試通關步步為營
- OpenCV for Secret Agents
- Bulma必知必會
- C#程序設計教程
- C語言程序設計
- 自制編程語言
- Clojure Reactive Programming
- Python之光:Python編程入門與實戰
- Python編程:從入門到實踐(第3版)
- Django 5企業級Web應用開發實戰(視頻教學版)
- SQL Server 2016 從入門到實戰(視頻教學版)