Java的正則表達式功能是最強大的特性之一,為開發人員提供一個通用的和健壯的方法用於文本操作。正則表達式允許用戶創建複雜的模式可以用來搜索在字符串匹配;提取子字符串;替換字符或整個單詞根據預定義的規則,使之在處理複雜的數據處理任務!此外,Java提供了一些有用的方法與正則表達式操作,比如編譯()在內存中啟用新模式的定義;匹配器()允許字符串輸入相比,對一個給定的模式;最後()方法將字符串分割成多個組件——所有幫助簡化複雜的任務,同時增加性能明顯在運行時執行。
正則表達式的例子:
1。驗證電子郵件地址:
[字符串模式= " ^ - za - z0 - 9 _ + & * () + (?: \ \ [a-zA-Z0-9_ + & * -] +) * @ (?: [a-zA-Z0-9 -] + \ \) + [a-zA-Z] {2, 7} $”;p = Pattern.compile模式(模式);匹配器m = p.matcher (“example.com”);如果(m.matches ()) {system . out。println(“有效的電子郵件地址”);}{system . out。println(“無效的電子郵件地址”);}
2。從字符串中提取所有的電話號碼
字符串模式= " \ \ d {3} - \ \ d {3} \ \ d {4}”;p = Pattern.compile模式(模式);匹配器m = p。匹配器(“我的電話號碼是555-555-5555我的辦公室電話是444-444-4444”);而(m.find ()) {System.out.println (m.group ());}
輸出:
555-555-5555 444-444-4444
3所示。從字符串中提取所有url:
字符串模式= " (https ? | | ftp文件):/ (-a-zA-Z0-9 + @ # % ? = ~ _ | !:,。] * [-a-zA-Z0-9 + @ # / % = ~ _ |]”;p = Pattern.compile模式(模式);匹配器m = p。匹配器(“我的網站是http: / www.example.com和我的博客是https: / blog.example.com”);而(m.find ()) {System.out.println (m.group ());}
輸出:
http://www.example.com https://blog.example.com