java正則表達式驗證格式(java判斷是否符合正則表達式)

本文目錄一覽:

在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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NIII的頭像NIII
上一篇 2024-11-01 14:06
下一篇 2024-11-01 14:06

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論