導航:首頁 > 編程語言 > java正則工具類

java正則工具類

發布時間:2022-07-26 02:43:41

『壹』 java常用的幾個正則方法

JAVA中正則表達式處理字元串的四個常用方法:匹配、分割、替換、截取。其跟字元串的常用函數相似,但是使用正則表達式會更簡單、更加簡潔。下面是具體的例子:

1 public class TestRegex {

2

3 public static void main(String[] args) {

4 String str = "";

5 String regex = "";

6

7 // 匹配

8 regex = "[1-9][a-z]";

9 getMatches(str, regex);

10

11 // 分割

12 str = "1a:abc123:";

13 regex = ":";

14 getSpilt(str, regex);

15

16 // 替換

17 str = "1223334444aaabbc";

18 String oldChar = "(.)\1+";

19 regex = "$1";

20 getReplace(str, oldChar, regex);

21

22 // 截取

23 str = "urlabc123";

24 regex = "(.*)";

25 getSubstring(str, regex);

26

27 }

28

29 public static void getMatches(String str, String regex) {

30 System.out.println(str.matches(regex));

31 }

32

33 public static void getSpilt(String str, String regex) {

34 String[] array = str.split(regex);

35 for (String t : array) {

36 System.out.println(t);

37 }

38 }

39

40 public static void getReplace(String str, String oldChar, String regex)
{

41 System.out.println(str.replaceAll(oldChar, regex));

42 }

43

44 public static void getSubstring(String str, String regex) {

45 Pattern p = Pattern.compile(regex);

46 Matcher m = p.matcher(str);

47 if (m.find()) {

48 System.out.println(m.group(1));

49 }

50 }

51 }

『貳』 java正則表達式處理一段字元串得到指定字元後面的字元,

var b=""{hello:{"名字":"李四"}}""
var reg=new RegExp("李四","gi");
var a=ret.exec(b);

『叄』 java正則匹配出所有類方法

java正則表達式提取需要用到Matcher類。
正則規則就是「一個數字加上大於等於0個非數字再加上結束符」
Pattern pattern
= Pattern.compile("(\\d)[^\\d]*$")
Matcher matcher
= pattern.matcher(s)
if(matcher.find())
System.out.println
(matcher.group(1)); } }

『肆』 java正則表達式是什麼

java正則表達式是計算機科學的一個概念。正則表達式使用單個字元串來描述、匹配一系列符合某個句法規則的字元串。

在編寫處理字元串的程序或網頁時,經常會有查找符合某些復雜規則的字元串的需要。正則表達式就是用於描述這些規則的工具。換句話說,正則表達式就是記錄文本規則的代碼。

很可能你使用過Windows/Dos下用於文件查找的通配符(wildcard),也就是*和?。如果你想查找某個目錄下的所有的Word文檔的話,你會搜索*.doc。在這里,*會被解釋成任意的字元串。

和通配符類似,正則表達式也是用來進行文本匹配的工具,只不過比起通配符,它能更精確地描述你的需求——當然,代價就是更復雜——比如你可以編寫一個正則表達式,用來查找所有以0開頭,後面跟著2-3個數字,然後是一個連字型大小「-」,最後是7或8位數字的字元串(像010-12345678或0376-7654321)。

正則表達式的基本操作:

正則表達式定義:符合一定規則的表達式。

作用:用於專門操作字元串。

特點:用於一些特定的符號來表示一些代碼操作。這樣就簡化書寫。所以學習正則表達式,就是在學習一些特殊符號的使用。

好處:可以簡化對字元串的復雜操作。

弊端:符號定義越多,正則越長,閱讀性越差。

『伍』 java工具類怎麼定義

工具類的定義是以util或utils結尾,裡麵包含的變數和方法都必須要是靜態的static方法,這樣才能提供別人調用。

『陸』 java 什麼叫工具類

是包含集合框架、遺留的 collection 類、事件模型、日期和時間設施、國際化和各種實用工具類(字元串標記生成器、隨機數生成器和位數組、日期Date類、堆棧Stack類、向量Vector類等)。集合類、時間處理模式、日期時間工具等各類常用工具包

『柒』 關於java工具類的理解 為什麼java要提出個工具類的概念,按照面向對象的思想為什麼不直接把工具

工具類其實就是對於String,Collection,IO等常用類的功能的擴展。比如IO讀寫文件。其實大多數時候我希望有一個文件路徑,然後調個方法就直接得到文件內容(字元串或者位元組數組形式)。

如果沒有工具類,那麼你每個讀文件的地方都有一段重復的代碼。所以,你肯定會被這個功能提取出來。那麼,你提取出來放哪兒呀?要知道這個功能可是在任何類都能調用的。所以,我們就放在FileUtil裡面了。

這樣,你以後讀取文件時,你就找FileUtil的read方法,直接調用即可。

為什麼要將方法和變數都寫成靜態的。因為,這些方法我只是想調用一下,不需要牽扯工具類中的任何屬性和變數,所以,我就沒有必要實例化了(new)。既然不需要實例化了,那麼就用靜態就行了。

『捌』 如何使用java的正則表達式提取html標簽

//我隨便寫了一個工具類,getRegexData就是那個方法,你可以根據你的需求稍加改動即可因為我使用的
//URL而不是HttpClient,所以數據是全部獲取過來了,你自己改改吧!不懂再問我
packagecom.wdy.util;

importjava.io.IOException;
importjava.io.InputStream;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*工具類
*@authorWDY
*
*/
publicclassTool{
publicstaticvoidmain(String[]args){
System.out.println(getRegexData("<img[]*src.*?jpg"","<imgsrc="img1.jpg"><imgsrc="img2.jpg""));


try{
URLurl=newURL("http://www..com");
StringstringData=getStringFromInputStream(url.openStream());
System.out.println(stringData+"----------------------------------------");
System.out.println();

System.out.println(getRegexData("http://.{6,70}?(png|jpg)",stringData));
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*給一個正則表達式,和數據,將正則匹配到的數據全數取出來
*
*@paramregex
*@paramdata
*@returnList<String>
*/
publicstaticList<String>getRegexData(Stringregex,Stringdata){
Patternpattern=Pattern.compile(regex);
Matchermatcher=pattern.matcher(data);
List<String>resultList=newArrayList<String>();
intindex=0;//搜索的位置
Stringtemp="";
/*從指定位置查找,如果找到了,就繼續執行下面的代碼*/
while(matcher.find(index)){
temp=matcher.group();//將匹配到的數據取出來放到集合中去
resultList.add(temp);
index+=temp.length();//將查找位置放到此時找到的數據後面
System.out.println(index);
}
returnresultList;
}
/**
*將輸入流裝成字元串
*@paramis
*@return
*/
(InputStreamis)throwsIOException{

StringBuildersbl=newStringBuilder();
byte[]buff=newbyte[1024*8];
intlen;
inti=0;
while((len=is.read(buff))!=-1){
sbl.append(newString(buff,0,len,"utf-8"));
System.out.println(i++);
}
System.out.println(sbl.length());
returnsbl.toString();
}
}

『玖』 java中正則表達式屬於哪個包

java.util.regex包


下面有兩個常用的正則表達式類


java.util.regex.Matcher

java.util.regex.Pattern


使用方式:


publicstaticvoidmain(String[]args){
//電話號碼
StringregexPattern="^(\d{3,4}-)?\d{6,8}(-\d{1,6})?$";
Patternpattern=Pattern.compile(regexPattern);
Matchermatcher=pattern.matcher("86771588-888");

System.out.println("是否匹配:"+matcher.matches());
}

結果:

是否匹配:true
閱讀全文

與java正則工具類相關的資料

熱點內容
郭天祥單片機實驗板 瀏覽:597
伺服器有什麼危害 瀏覽:256
飢荒怎麼開新的獨立伺服器 瀏覽:753
文件夾變成了 瀏覽:560
linuxpython綠色版 瀏覽:431
怎麼下載小愛同學音箱app 瀏覽:554
python佔位符作用 瀏覽:76
javajdbcpdf 瀏覽:543
php網頁模板下載 瀏覽:192
python試講課pygame 瀏覽:409
安居客的文件夾名稱 瀏覽:677
家裡伺服器如何玩 瀏覽:451
網站源碼使用視頻 瀏覽:748
stc89c52單片機最小系統 瀏覽:452
郵件安全證書加密 瀏覽:416
雲伺服器如何訪問百度 瀏覽:279
常州電信伺服器dns地址 瀏覽:839
用小方塊製作解壓方塊 瀏覽:42
圖像壓縮編碼實現 瀏覽:68
特色功能高拋低吸線副圖指標源碼 瀏覽:71