JavaWeb进阶--正则表达式

正则表达式:

JavaWeb进阶--正则表达式_第1张图片


测试工具:http://tool.oschina.net/regex

JavaWeb进阶--正则表达式_第2张图片


字符范围匹配:

JavaWeb进阶--正则表达式_第3张图片


元字符匹配:
只匹配单个字符的话,就使用转义字符 

例如:如果只想匹配 .  就使用 \.

如果用 . 来匹配,匹配的是任意单个字符

JavaWeb进阶--正则表达式_第4张图片


多次重复匹配:

JavaWeb进阶--正则表达式_第5张图片


定位匹配:
 

JavaWeb进阶--正则表达式_第6张图片


贪婪模式与非贪婪模式:

贪婪模式:尽可能多的匹配字符串,并且是正则表达式的默认形式

JavaWeb进阶--正则表达式_第7张图片

非贪婪模式:尽可能的少匹配字符串
 

JavaWeb进阶--正则表达式_第8张图片


表达式分组:
 

JavaWeb进阶--正则表达式_第9张图片


案例:JavaScript表单验证
测试代码:
 





Insert title here


	
姓名:
身份证:

输出结果:

JavaWeb进阶--正则表达式_第10张图片

JavaWeb进阶--正则表达式_第11张图片

JavaWeb进阶--正则表达式_第12张图片


案例:Java中Web页面信息提取

sample.html:





国际主要城市


	

国际主要城市

  • 纽约NewYork
  • 伦敦London
  • 东京Tokyo
  • 巴黎Paris
  • 香港HongKong
  • 新加坡Singapore
  • 悉尼Sydney
  • 米兰Milano
  • 上海Shanghai
  • 北京Beijing
  • 马德里Madrid
  • 莫斯科Moscow
  • 首尔Seoul
  • 曼谷Bangkok
  • 多伦多Toronto
  • 布鲁塞尔Brussels
  • 芝加哥Chicago
  • 吉隆坡KualaLumpur
  • 孟买Mumbai
  • 华沙Warsaw
  • 圣保罗SaoPaulo
  • 苏黎世Zurich
  • 阿姆斯特丹Amsterdam
  • 墨西哥城MexicoCity
  • 雅加达Jakarta
  • 都柏林Dublin
  • 曼谷Bangkok
  • 台北Taipei
  • 伊斯坦布尔Istanbul
  • 里斯本Lisbon
  • 罗马Rome
  • 法兰克福Frankfurt
  • 斯德哥尔摩Stockholm
  • 布拉格Prague
  • 维也纳Vienna
  • 布达佩斯Budapest
  • 雅典Athens
  • 加拉加斯Caracas
  • 洛杉矶LosAngeles
  • 新西兰NewZealand
  • 圣地亚哥SanDiego
  • 布宜诺斯艾利斯BuenosAires
  • 华盛顿Washington
  • 墨尔本Melbourne
  • 约翰内斯堡Johannesburg
  • 亚特兰大Atlanta
  • 巴塞罗那Barcelona
  • 旧金山SanFrancisco
  • 马尼拉Manila
  • 波哥大Bogota
  • 特拉维夫TelAviv-Yafo
  • 新德里NewDelhi
  • 迪拜Dubai
  • 布加勒斯特Bucharest
  • 奥斯陆Oslo
  • 柏林Berlin
  • 赫尔辛基Helsinki
  • 日内瓦Geneva
  • 利雅得Riyadh
  • 哥本哈根Copenhagen
  • 汉堡Hamburg
  • 开罗Cairo
  • 卢森堡Luxembourg
  • 班加罗尔Bangalore
  • 达拉斯Dallas
  • 科威特城Kuwaitcity
  • 波士顿Boston
  • 慕尼黑Munich
  • 迈阿密Miami
  • 利马Lima
  • 基辅Kiev
  • 休斯顿Houston
  • 广州Guangzhou
  • 贝鲁特Beirut
  • 卡拉奇Karachi
  • 索菲亚Sophia
  • 蒙得维的亚Montevideo
  • 里约热内卢RioDEJaneiro
  • 胡志明市HoChiMinhCity
  • 蒙特利尔Montreal
  • 内罗毕Nairobi
  • 巴拿马城Panamacity
  • 金奈Chennai
  • 布里斯班Brisbane
  • 卡萨布兰卡Casablanca
  • 丹佛Denver
  • 基多Quito
  • 斯图加特Stuttgart
  • 温哥华Vancouver
  • 麦纳麦MaiNaMai
  • 危地马拉市Guatemalacity
  • 开普敦CapeTown
  • 圣何塞SanJose
  • 西雅图Seattle
  • 深圳Shenzhen
  • 珀斯Perth
  • 加尔各答Calcutta
  • 安特卫普Antwerp
  • 费城Philadelphia
  • 鹿特丹Rotterdam
  • 拉各斯Lagos
  • 波特兰Portland
  • 底特律Detroit
  • 曼彻斯特Manchester
  • 惠灵顿Wellington
  • 里加Riga
  • 爱丁堡Edinburgh
  • 圣彼得堡StPetersburg
  • 圣迭戈SanDiego
  • 伊斯兰堡Islamabad
  • 伯明翰Birmingham
  • 多哈Doha
  • 阿拉木图AlmaAtaAlmaty
  • 卡尔加里Calgary

RegexSample.java:

package com.imooc.regex;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexSample {
	public static void main(String[] args) {
		StringBuilder content = new StringBuilder();
		try {
			//文件输入流,擅长处理二进制流
			FileInputStream fis = new FileInputStream("/Users/lcs/eclipse-j2ee-workspace/regex/WebContent/sample.html");
			//将二进制流变成字符,并设置字符集
			InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
			//引入缓冲机制,提高读取效率
			BufferedReader bufferedReader = new BufferedReader(isr);
			//保存每一行的数据
			String lineText = "";
			while((lineText = bufferedReader.readLine()) != null) {
//				System.out.println(lineText);
				content.append(lineText + "\n");
			}
			bufferedReader.close();
			//System.out.println(content);
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		//1.创建正则表达式对象,传入一个正则表达式字符串
		Pattern p = Pattern.compile("
  • ([\\u4e00-\\u9fa5]{2,10})([a-zA-Z]+)
  • "); //2.匹配正则表达式 Matcher m = p.matcher(content); //3.查找匹配的结果 while(m.find()) { //group(0)对应完整 // System.out.println(m.group(0)); //group(n),n代表第n个分组 String chs = m.group(1); String eng = m.group(2); System.out.println(chs + "-" + eng); } } }

    输出结果:

    纽约-NewYork
    伦敦-London
    东京-Tokyo
    巴黎-Paris
    香港-HongKong
    新加坡-Singapore
    悉尼-Sydney
    米兰-Milano
    上海-Shanghai
    北京-Beijing
    马德里-Madrid
    莫斯科-Moscow
    首尔-Seoul
    曼谷-Bangkok
    多伦多-Toronto
    布鲁塞尔-Brussels
    芝加哥-Chicago
    吉隆坡-KualaLumpur
    孟买-Mumbai
    华沙-Warsaw
    圣保罗-SaoPaulo
    苏黎世-Zurich
    阿姆斯特丹-Amsterdam
    墨西哥城-MexicoCity
    雅加达-Jakarta
    都柏林-Dublin
    曼谷-Bangkok
    台北-Taipei
    伊斯坦布尔-Istanbul
    里斯本-Lisbon
    罗马-Rome
    法兰克福-Frankfurt
    斯德哥尔摩-Stockholm
    布拉格-Prague
    维也纳-Vienna
    布达佩斯-Budapest
    雅典-Athens
    加拉加斯-Caracas
    洛杉矶-LosAngeles
    新西兰-NewZealand
    圣地亚哥-SanDiego
    布宜诺斯艾利斯-BuenosAires
    华盛顿-Washington
    墨尔本-Melbourne
    约翰内斯堡-Johannesburg
    亚特兰大-Atlanta
    巴塞罗那-Barcelona
    旧金山-SanFrancisco
    马尼拉-Manila
    波哥大-Bogota
    新德里-NewDelhi
    迪拜-Dubai
    布加勒斯特-Bucharest
    奥斯陆-Oslo
    柏林-Berlin
    赫尔辛基-Helsinki
    日内瓦-Geneva
    利雅得-Riyadh
    哥本哈根-Copenhagen
    汉堡-Hamburg
    开罗-Cairo
    卢森堡-Luxembourg
    班加罗尔-Bangalore
    达拉斯-Dallas
    科威特城-Kuwaitcity
    波士顿-Boston
    慕尼黑-Munich
    迈阿密-Miami
    利马-Lima
    基辅-Kiev
    休斯顿-Houston
    广州-Guangzhou
    贝鲁特-Beirut
    卡拉奇-Karachi
    索菲亚-Sophia
    蒙得维的亚-Montevideo
    里约热内卢-RioDEJaneiro
    胡志明市-HoChiMinhCity
    蒙特利尔-Montreal
    内罗毕-Nairobi
    巴拿马城-Panamacity
    金奈-Chennai
    布里斯班-Brisbane
    卡萨布兰卡-Casablanca
    丹佛-Denver
    基多-Quito
    斯图加特-Stuttgart
    温哥华-Vancouver
    麦纳麦-MaiNaMai
    危地马拉市-Guatemalacity
    开普敦-CapeTown
    圣何塞-SanJose
    西雅图-Seattle
    深圳-Shenzhen
    珀斯-Perth
    加尔各答-Calcutta
    安特卫普-Antwerp
    费城-Philadelphia
    鹿特丹-Rotterdam
    拉各斯-Lagos
    波特兰-Portland
    底特律-Detroit
    曼彻斯特-Manchester
    惠灵顿-Wellington
    里加-Riga
    爱丁堡-Edinburgh
    圣彼得堡-StPetersburg
    圣迭戈-SanDiego
    伊斯兰堡-Islamabad
    伯明翰-Birmingham
    多哈-Doha
    阿拉木图-AlmaAtaAlmaty
    卡尔加里-Calgary
    

     

    你可能感兴趣的:(从网页搭建入门java,web)