本文目錄一覽:
在JAVA裡面怎麼使用正則表達式?
正則表達式的主要用法就是判斷某個字符串是否符合某個固定的格式,以下是電話號碼的格式判斷:
BufferedReader in;
Pattern pattern = Pattern.compile(“//(//d{3}//)//s//d{3}-//d{4}”);
in = new BufferedReader(new FileReader(“18046521658”));
String s;
while ((s = in.readLine()) != null)
{
Matcher matcher = pattern.matcher(s);
if (matcher.find())
{
System.out.println(matcher.group());
}
}
in.close();
備註:其中/d單字符類型用來匹配從0到9的任何數字,另外{3}重複符號,是個簡便的記號,用來表示有3個連續的數字位,也等效於(/d/d/d)。/s也另外一個比較有用的單字符類型,用來匹配空格,比如Space鍵,tab鍵和換行符。
java 正則表達式格式
1.只能輸入數字和英文的:
input onkeyup=”value=value.replace(/[\W]/g,”) ”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))”
ID=”Text1″ NAME=”Text1″ 2.只能輸入數字的:
input onkeyup=”value=value.replace(/[^\d]/g,”) ”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))”
ID=”Text2″ NAME=”Text2″ 3.只能輸入全角的:
input onkeyup=”value=value.replace(/[^\uFF00-\uFFFF]/g,”)”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\uFF00-\uFFFF]/g,”))”
ID=”Text3″ NAME=”Text3″ 4.只能輸入漢字的:
input onkeyup=”value=value.replace(/[^\u4E00-\u9FA5]/g,”)”
onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\u4E00-\u9FA5]/g,”))”
ID=”Text4″ NAME=”Text4″ 5.郵件地址驗證:
var regu =
“^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$”
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true;
} else {
window.alert (“請輸入有效合法的E-mail地址 !”)
return false;
}
6.身份證:
“^\\d{17}(\\d|x)$”
7.17種正則表達式
“^\\d+$”//非負整數(正整數 + 0)
“^[0-9]*[1-9][0-9]*$”//正整數
“^((-\\d+)|(0+))$”//非正整數(負整數 + 0)
“^-[0-9]*[1-9][0-9]*$”//負整數
“^-?\\d+$”//整數
“^\\d+(\\.\\d+)?$”//非負浮點數(正浮點數 + 0)
“^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$”//正浮點數 “^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$”//非正浮點數(負浮點數 + 0)
“^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$”//負浮點數 “^(-?\\d+)(\\.\\d+)?$”//浮點數
“^[A-Za-z]+$”//由26個英文字母組成的字符串
“^[A-Z]+$”//由26個英文字母的大寫組成的字符串
“^[a-z]+$”//由26個英文字母的小寫組成的字符串
“^[A-Za-z0-9]+$”//由數字和26個英文字母組成的字符串
“^\\w+$”//由數字、26個英文字母或者下劃線組成的字符串
“^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$”//email地址
“^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$”//url
=============================================
java正則表達式怎麼書寫?
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。
下面介紹具體的方法。
1、步驟一 : 新建一個工程和類
我們在這個類中開發相關的代碼,先看看 java.util.regex 這個包吧。
2、步驟二 : 類 Pattern 的使用
類Pattern , 其一個對象就代表一種指定的正則表達式,我們通過這個類和一些正則表達式的規則來生成自己想要的字符串匹配規則!
這個類,你無法通過 new 來創建對象,其提供了一個靜態方法 compile(“正則規則串”)來創建對象, 比如我們想要一個以 “java” 開頭的字符串匹配規則,我們會用如下代碼 Pattern 對象 :
Pattern pattern = Pattern.compile(“^java”);
注意 : ^ 這個符號是正則表達式中的規則,表示字符串的開頭!關於其他規則,我們後面會有相關經驗給大家逐一介紹!
3、步驟三 : 類 Matcher 的使用
類 Matcher, 代表一個串在特定Pattern對象下的匹配結果,我們通過這個結果可以知道這個串是否符合我們的要求 (我們的具體要求在 Pattern 對象中體現!)。使用方法為 :
// 先構建一個特定的 Pattern 對象
Pattern pattern = Pattern.compile(“^java”);
// 調用 Pattern 對象的 matcher 方法,傳入一個串,得到匹配結果!
Matcher matcher = javaPrefixPattern.matcher(“一個字符串”);
4、步驟四 : 測試和總結
運行代碼,查看程序運行效果!正則表達式的整個使用框架就是這樣,其不同的應用場景基本就是不同的匹配規則!
總結 :正則表達式的彪悍,主要在於其很多成熟的規範的語義規則,通過這些規則的靈活使用,我們可以把一種複雜的匹配需求用一個規則串表達出來!
如何用Java正則表達式判斷字符串是否匹配格式串
你要先寫好正則表達式
單純判斷用String的matches()方法就可以了
public class Test {
public static void main(String[] args) {
String s = “1234”;
s.matches(“\\d*”);//\\d*為正則表達式,數字出現零次或多次,返回boolean類型
}
}
原創文章,作者:NIII,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147155.html