學(xué)習(xí)Java正則表達(dá)式(匹配、替換、查找)
本文為大家分享了Java正則表達(dá)式的匹配、替換、查找和切割操作,有興趣的朋友可以參考一下
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test {
public static void main(String[] args) {
getStrings(); //用正則表達(dá)式獲取指定字符串內(nèi)容中的指定內(nèi)容
System.out.println("********************");
replace(); //用正則表達(dá)式替換字符串內(nèi)容
System.out.println("********************");
strSplit(); //使用正則表達(dá)式切割字符串
System.out.println("********************");
strMatch(); //字符串匹配
}
private static void strMatch() {
String phone = "13539770000";
//檢查phone是否是合格的手機(jī)號(標(biāo)準(zhǔn):1開頭,第二位為3,5,8,后9位為任意數(shù)字)
System.out.println(phone + ":" + phone.matches("1[358][0-9]{9,9}")); //true
String str = "abcd12345efghijklmn";
//檢查str中間是否包含12345
System.out.println(str + ":" + str.matches("\\w+12345\\w+")); //true
System.out.println(str + ":" + str.matches("\\w+123456\\w+")); //false
}
private static void strSplit() {
String str = "asfasf.sdfsaf.sdfsdfas.asdfasfdasfd.wrqwrwqer.asfsafasf.safgfdgdsg";
String[] strs = str.split("\\.");
for (String s : strs){
System.out.println(s);
}
}
private static void getStrings() {
String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf";
Pattern p = Pattern.compile("qq(.*?)qq");
Matcher m = p.matcher(str);
ArrayList<String> strs = new ArrayList<String>();
while (m.find()) {
strs.add(m.group(1));
}
for (String s : strs){
System.out.println(s);
}
}
private static void replace() {
String str = "asfas5fsaf5s4fs6af.sdaf.asf.wqre.qwr.fdsf.asf.asf.asf";
//將字符串中的.替換成_,因?yàn)?是特殊字符,所以要用\.表達(dá),又因?yàn)閈是特殊字符,所以要用\\.來表達(dá).
str = str.replaceAll("\\.", "_");
System.out.println(str);
}
}
代碼的重點(diǎn)之處已經(jīng)為大家注明了,希望大家可以仔細(xì)研究,從中總結(jié)學(xué)習(xí)技巧。
相關(guān)文章
SpringBoot2.0集成MQTT消息推送功能實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot2.0集成MQTT消息推送功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java數(shù)據(jù)結(jié)構(gòu)之Map與Set專篇講解
這篇文章通過實(shí)例面試題目來講解Java中Map和Set之間的關(guān)系,具有很好的參考價值,Map與Set在面試中經(jīng)常會遇到。一起跟隨小編過來看看吧2022-01-01
Java數(shù)據(jù)結(jié)構(gòu)之實(shí)現(xiàn)哈希表的分離鏈接法
今天給大家?guī)淼氖顷P(guān)于Java數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,文章圍繞著Java哈希表的分離鏈接法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java+Freemarker實(shí)現(xiàn)根據(jù)XML模板文件生成Word文檔
這篇文章主要為大家詳細(xì)介紹了Java如何使用Freemarker實(shí)現(xiàn)根據(jù)XML模板文件生成Word文檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2023-11-11
Java實(shí)現(xiàn)求解一元n次多項(xiàng)式的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)求解一元n次多項(xiàng)式的方法,涉及java高斯消元法處理矩陣運(yùn)算解多項(xiàng)式的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01

