

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、技術(shù)總結(jié)正則表達式- HYPERLINK / t _blank android培訓(xùn)、 HYPERLINK / t _blank java培訓(xùn)、期待與您交流! -概述:正則表達式在程序設(shè)計語言中存在著廣泛的應(yīng)用,特別是用來處理字符串。如匹配字符串、查找字符串、替換字符串等。可以說,正則表達式是一段文本或一個公式,它是用來描述用某種模式去匹配一類字符串的公式,并且該公式具有一定的模式。-正則表達式代碼體現(xiàn):import java.util.regex.Matcher;import java.util.regex.Pattern;/* 正則表達式:主要用于針對處理字符串數(shù)據(jù)。* 好處:可以對字符串進
2、行復(fù)雜操作,并簡化代碼書寫。* 弊端:閱讀性較差。* 正則其實就是定義了符號代替了代碼。* 所以學(xué)習(xí)正則就必須要掌握一些符號。* 對字符串的常見操作都有哪些呢?* 1,匹配。* 使用的是String類中的matches方法。* 2,切割。* 使用的是String類中的split方法。* 3,替換。* 使用的是String類中的replaceAll方法。* 4,獲取。* 用到的是正則表達式對象。* 1,將正則表達式封裝成Pattern正則對象。* 2,通過正則對象獲取匹配器對象Matcher。* 3,通過匹配器將正則表達式作用到指定的字符串。* Pattern p = Ppile(a*b);*
3、Matcher m = p.matcher(aaaaab);* boolean b = m.matches();*/public class RegexDemo public static void main(String args) getDemo();/* 獲取演示。*/public static void getDemo() String str = zhu yi la,ming tian bu fang jia!;System.out.println(str);/ 獲取由三個字母組成單詞。String reg = ba-z3b;Pattern p = Ppile(reg);Matche
4、r m = p.matcher(str);while (m.find() System.out.println(m.start() + , + m.group() + , + m.end();/ 獲取匹配的子序列。/* 演示替換。*/public static void replaceDemo() String str = telover;str =/ str = str.replaceAll(d5, *);str = str.replaceAll(d3)d4(d4), $1*$2);System.out.println(str);/* 演示
5、切割。*/public static void splitDemo() String str = zhangsanaaaalisizzzwangwu;String reg = ,;/ 按照普通逗號切。reg = .;reg = +;reg = (.)1+;/ 準備期中的疊詞作為分隔符。String names = str.split(reg);for (String name : names) System.out.println(name);private static void regexDemo() /* 演示正則常見的符號。*/String str = aoooob;String re
6、g = ao3,b;/ 規(guī)則:對單詞為a開頭 b結(jié)尾,中間有一個o或者沒有o的單詞都匹配。boolean b = str.matches(reg);System.out.println(str + : + b);/ 校驗電話號public static void checkTel() String tel =String reg = 1358d9;boolean b = tel.matches(reg);System.out.println(tel + : + b);/ 校驗QQ號private static void checkQQByReg() String qq
7、 = 1012;/ 定義一個規(guī)則,對這個qq號進行匹配操作,符合規(guī)則就是正確的,否則是錯誤的。/ 規(guī)則怎么定義呢?通過一些已有的符號來完成。String reg = 1-90-94,14;boolean b = qq.matches(reg);System.out.println(qq + : + b);/ checkQQ(qq);/* 校驗QQ號進行校驗。 要求:515. 0不能開頭,必須是數(shù)字。*/public static void checkQQ(String qq) int len = qq.length();if (len = 5 & len = 15) if (!qq.start
8、sWith(0) try long l = Long.parseLong(qq);System.out.println(l + .哦了); catch (NumberFormatException e) System.out.println(qq + ,有非法字符。); else System.out.println(qq + ,不可以0開頭); else System.out.println(qq + ,長度錯誤。);-郵箱和IP的校驗:import java.util.TreeSet;public class RegexTest public static void main(String
9、 args) test_3();/* 對郵箱地址進行校驗。*/public static void test_3() String mail = abc12;mail = 11.1; String reg = a-zA-Z0-9_+a-zA-Z0-9+(.a-zA-Z2,)+; reg = w+w+(.w+)+; boolean b = mail.matches(reg); System.out.println(mail+:+b); /* * 練習(xí)二,ip地址排序。 * 4 9 */public static void test_2() String ip_str = 4 9 ; /* * 按
10、照字符串的字典順序排序, * 但是必須要先保證每一個ip段的位數(shù)是3位。補足用0補。 * */ ip_str = ip_str.replaceAll(d+), 00$1); System.out.println(ip_str); ip_str = ip_str.replaceAll(0*(d3), $1); System.out.println(ip_str); String ips = ip_str.split( +); TreeSet ts = new TreeSet();for(String ip : ips) ts.add(ip); for(String ip : ts) System
11、.out.println(ip.replaceAll(0*(d+), $1); /* * 練習(xí)一,治口吃 * 我我.我我.我叫叫叫.袁袁袁袁袁.夢夢夢夢.希希希希.希*/ public static void test_1() String str = 我我.我我.我叫叫叫.袁袁袁袁袁.夢夢夢夢.希希希希.希; /把它變成 我叫袁夢希。使用替換。 /1,把.去掉。 str = str.replaceAll(.+, ); /2,替換疊詞。為當前詞。 str = str.replaceAll(.)1+,$1); System.out.println(str); -網(wǎng)頁爬蟲:public class
12、 RegexTest2 public static void main(String args) throws Exception /* 網(wǎng)頁爬蟲:其實就一個可以獲取網(wǎng)頁中指定規(guī)則數(shù)據(jù)的小程序。 * * 比如抓取網(wǎng)頁中的郵箱。*/ getMails(); getMailsByWeb(); public static void getMailsByWeb() throws Exception String str_url = HYPERLINK :8080/myweb/mail.html t _blank :8080/myweb/mail.html; URL url = new URL(str_
13、url);/1,讀取指定文件。 BufferedReader bufr = new BufferedReader(new InputStreamReader(url.openStream();/2,定義規(guī)則。 String reg = w+w+(.w+)+; Pattern p = Ppile(reg);/3,開始讀。String line = null; while(line=bufr.readLine()!=null) Matcher m = p.matcher(line);while(m.find() System.out.println(m.group(); bufr.close(); public static void getMails() throws Exception /1,讀取指定文件。 BufferedReader bufr = new BufferedReader(new FileReader(c:mail.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度拓展訓(xùn)練場地與高校合作教育項目協(xié)議
- 二零二五年度物流運輸企業(yè)員工入職保密協(xié)議及供應(yīng)鏈保護
- 2025年度高端定制酒定制生產(chǎn)合同
- 二零二五年度足療中心員工勞動合同范本
- 2025年度終止勞動合同協(xié)議書:SS企業(yè)員工TT合同終止及離職手續(xù)辦理協(xié)議
- 二零二五年度醫(yī)療援助項目醫(yī)生聘用協(xié)議
- 二零二五年度口腔診所負責(zé)人侵權(quán)責(zé)任免除與賠償處理合同
- 二零二五年度上市公司股份回購?fù)斯蓞f(xié)議
- 2025年度高科技園區(qū)土地租賃服務(wù)協(xié)議
- 二零二五年度房屋租賃合同租賃物能源消耗管理補充協(xié)議
- 大學(xué)生安全教育課件(ppt共41張)
- 初中物理人教版八年級下冊 第1節(jié)牛頓第一定律 課件
- 網(wǎng)站培訓(xùn)內(nèi)容trswcm65表單選件用戶手冊
- 監(jiān)理大綱(范本)
- 空調(diào)系統(tǒng)維保記錄表格模板
- 打印版-圓與二次函數(shù)綜合題精練(帶答案)
- 工程結(jié)算書標準
- 氧氣管道吹掃方案(共7頁)
- JJG-943-2011-總懸浮顆粒物采樣器
- 2018年湖北省襄陽市中考物理試卷
- 波程差與光程差
評論
0/150
提交評論