本文目錄一覽:
- 1、java 正則表達式 怎麼匹配 中文 和數字
- 2、請問JAVA中正則表達式匹配怎麼實現的!
- 3、java正則表達式是什麼?
- 4、java正則表達式
- 5、java 怎麼用正則表達式拿出一篇文章中匹配
- 6、java正則表達式匹配模式
java 正則表達式 怎麼匹配 中文 和數字
java 正則匹配字符為純數字方法:
定義正則表達式為:
String reg=”^\\d+$”
獲取要判斷的字符串:
String str;//可以通過Scanner從控制台輸入,也可以用字符串常量進行初始化
調用字符串的matches方法判斷字符串為純數字情況:
str.matches(reg);
如果是純數字返回為true,否則返回為false;
請問JAVA中正則表達式匹配怎麼實現的!
Java中正則表達式匹配的語法規則:
以下是整理出來的Java下運用正則表達式實現匹配的程序案例,代碼如下:
package org.luosijin.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正則表達式
* @version V5.0
* @author Admin
* @date 2015-7-25
*/
public class Regex {
/**
* @param args
* @author Admin
* @date 2015-7-25
*/
public static void main(String[] args) {
Pattern pattern = Pattern.compile(“b*g”);
Matcher matcher = pattern.matcher(“bbg”);
System.out.println(matcher.matches());
System.out.println(pattern.matches(“b*g”,”bbg”));
//驗證郵政編碼
System.out.println(pattern.matches(“[0-9]{6}”, “200038”));
System.out.println(pattern.matches(“//d{6}”, “200038”));
//驗證電話號碼
System.out.println(pattern.matches(“[0-9]{3,4}//-?[0-9]+”, “02178989799”));
getDate(“Nov 10,2009”);
charReplace();
//驗證身份證:判斷一個字符串是不是身份證號碼,即是否是15或18位數字。
System.out.println(pattern.matches(“^//d{15}|//d{18}$”, “123456789009876”));
getString(“D:/dir1/test.txt”);
getChinese(“welcome to china,江西奉新,welcome,你!”);
validateEmail(“luosijin123@163.com”);
}
/**
* 日期提取:提取出月份來
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getDate(String str){
String regEx=”([a-zA-Z]+)|//s+[0-9]{1,2},//s*[0-9]{4}”;
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
if(!matcher.find()){
System.out.println(“日期格式錯誤!”);
return;
}
System.out.println(matcher.group(1)); //分組的索引值是從1開始的,所以取第一個分組的方法是m.group(1)而不是m.group(0)。
}
/**
* 字符替換:本實例為將一個字符串中所有包含一個或多個連續的“a”的地方都替換成“A”。
*
* @author Admin
* @date 2015-7-25
*/
public static void charReplace(){
String regex = “a+”;
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(“okaaaa LetmeAseeaaa aa booa”);
String s = matcher.replaceAll(“A”);
System.out.println(s);
}
/**
* 字符串提取
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getString(String str){
String regex = “.+/(.+)$”;
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
if(!matcher.find()){
System.out.println(“文件路徑格式不正確!”);
return;
}
System.out.println(matcher.group(1));
}
/**
* 中文提取
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getChinese(String str){
String regex = “[//u4E00-//u9FFF]+”;//[//u4E00-//u9FFF]為漢字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
while(matcher.find()){
sb.append(matcher.group());
}
System.out.println(sb);
}
/**
* 驗證Email
* @param email
* @author Admin
* @date 2015-7-25
*/
public static void validateEmail(String email){
String regex = “[0-9a-zA-Z]+@[0-9a-zA-Z]+//.[0-9a-zA-Z]+”;
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(email);
if(matcher.matches()){
System.out.println(“這是合法的Email”);
}else{
System.out.println(“這是非法的Email”);
}
}
}
java正則表達式是什麼?
在程序開發中,難免會遇到需要匹配、查找、替換、判斷字符串的情況發生,而這些情況有時又比較複雜,如果用純編碼方式解決,往往會浪費程序員的時間及精力。因此,學習及使用正則表達式,便成了解決這一矛盾的主要手段。
正則表達式是一種可以用於模式匹配和替換的規範,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它 用以描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。
擴展資料:
正則表達式的特點是:
1、靈活性、邏輯性和功能性非常強;
2、可以迅速地用極簡單的方式達到字符串的複雜控制。
3、對於剛接觸的人來說,比較晦澀難懂。
由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。
參考資料來源:百度百科-正則表達式
java正則表達式
Java 正則表達式和 Perl 的是最為相似的,正則表達式就是規則表達式。
Java中正則表達式與之前使用的Python是有區別的,區別在於Java對於反斜線(\)處理的不同。 在Python中”\d”表示 匹配一位數字(0-9),而Java中匹配一位數字(0-9),需要的正則表達式為”\\d”。 不過換行符和製表符只需要單反斜線“\n\t”。
正則表達式定義了字符串的模式。可以用來搜索、編輯或處理文本。不僅限於某一種語言,但是在每種語言中有細微的差別。
java 怎麼用正則表達式拿出一篇文章中匹配
利用正則表達式從給定的字符串中取出符合匹配規則的字符串的Java程序如下:
import java.util.regex.Matcher;import java.util.regex.Pattern;public class E { public static void main(String[] args) { Pattern p = Pattern.compile(“[A-Za-z]+”);//設定匹配規則為取出字符串中的字母 Matcher m = p.matcher(“12sifiwq820aufu”);//與字符串匹配 while(m.find()){ System.out.println(m.group()); } }}運行結果:
sifiwqaufu
java正則表達式匹配模式
不需要完全匹配的正則表達式,用m1.find()函數就可以模糊匹配,完整的程序如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class G {
public static void main(String[] args) {
String reg = “\\d{3}\\s+\\d{5}\\s+\\d{3}\\s+\\d{2}”;
Pattern p1 = Pattern.compile(reg);
String u = “CQGM021R1 581 12138 460 00 41739-1 in-service “;
Matcher m1 = p1.matcher(u);
while(m1.find()){
System.out.println(m1.group());
}
}
}
運行結果:
581 12138 460 00
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/239384.html