日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

概述

正則表達式非常強大,能夠解決我們開發時用于匹配一些特定的要求。并且JAVA中還提供了相當強大的方法,擴展其功能性。下面我們就來介紹一下:

1.定義一個關于用戶名的正則表達式

String regex = "[\u4E00-\u9FEF[a-z][A-Z]{2}]\w{6,20}";

2.定義一個關于密碼的正則表達式

String password = "[\w\.]{6,16}";

3. 定義一個關于QQ郵箱的正則表達式

String email = "[\d@qq\.com]{12,16}";

4.兩個用來處理正則表達式的工具類

compile是靜態方法,用于編譯規則返回Pattern對象

matcher用于匹配字符串

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(str);

5.find():判斷字符串是否匹配

6.group():將匹配到的字符串分組

7.start()和end():分別表示第幾輪匹配到的字符串的下標,end()下標自動加1

8.AppendReplacement():用特定的字符串替代匹配到的字符串,并放入其第一個參數 StringBuffer中

9.appendTail():將最后匹配到的字符串的剩余串放入StringBuffer中

應用

Java正則表達式詳解

 


Java正則表達式詳解

 


Java正則表達式詳解

 

package com.bbc.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo {

	// 定義一個全局變量用于計數
	static int count = 0;
	
	// 定義一個全局變量用于替代
	static String replaceStr = "-";
	

	public static void main(String[] args) {

		// 定義一個關于用戶名的正則表達式
		String regex = "[\u4E00-\u9FEF[a-z][A-Z]{2}]\w{6,20}";
		// 定義匹配的子段
		String str = "吳dadadadda31da";

		// 定義一個關于密碼的正則表達式
		String password = "[\w\.]{6,16}";

		// 定義匹配的字段
		String passwordStr = "dafa........";

		// 定義一個關于QQ郵箱的正則表達式
		String email = "[\d@qq\.com]{12,16}";

		// 定義匹配的字段
		String emailStr = "146456416@qq.com";
		
		// 定義一個字段用于測試find方法
		String line = "454156135dada 	...";
		String pattern = "(\d+)([a-z]+)(\s)(.*)";

		//定義一個字段用于測試start_end方法
		String test = "abc\b";
		String testStr = "abc dada abc dad abc ad";
		

		// 定義一個字段用于測試replace方法
		String replace = "a*b";
		
		// 定義一個匹配的字段
		String replaceStr1 = "aabdadasabdadabbadadaabda";
		
		
		
		System.out.println("用戶名:" + judge(regex, str));
		System.out.println("密    碼:" + judge(password, passwordStr));
		System.out.println("郵    箱:" + judge(email, emailStr));
		find(pattern, line);
		start_end(test, testStr);
		replace(replace,replaceStr1);
	}

	// 定義一個方法,判斷字符串是否合法
	public static boolean judge(String regex, String str) {

		Pattern p = Pattern.compile(regex);

		Matcher m = p.matcher(str);

		return m.matches();
	}

	// 定義一個方法,獲取字符串的分割點
	public static void find(String regex, String str) {
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(str);
		if (m.find()) {
			System.out.println("value1" + ":" + m.group(0));
			System.out.println("value2" + ":" + m.group(1));
			System.out.println("value3" + ":" + m.group(2));
			System.out.println("value4" + ":" + m.group(3));
			System.out.println("value5" + ":" + m.group(4));
		}
	}
	
	// 定義一個方法,獲取每個分割點的坐標
	public static void start_end(String regex , String str){
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(str);
		while(m.find()){
			count++;
			System.out.println("第"+ count +"次循環");
			System.out.println("start:" + m.start());
			System.out.println("end:" + m.end());
		}
	}
	
	// 定義一個方法,用特定的字段取代匹配的字段
	public static void replace(String regex , String str){
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(str);
		StringBuffer sb = new StringBuffer(); 
		while(m.find()){
			m.appendReplacement(sb, replaceStr);
		}
		m.appendTail(sb);
		System.out.println("sb:" + sb);
	}
}

演示

Java正則表達式詳解

 

本期內容到此結束,我們下期不見不散!

分享到:
標簽:正則表達式 Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定