<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
用來描述或者匹配一系列符合某個語句規則的字串
1、英文句點.符號:匹配單個任意字元。
2、中括號[]:只有方括號裡面指定的字元才參與匹配,也只能匹配單個字元。
3、| 符號。相當與“或”,可以匹配指定的字元,但是也只能選擇其中一項進行匹配。
4、表示匹配次數的符號
5、^符號:表示否,如果用在方括號內,^表示不想匹配的字元。
6、S符號:非空字元
7、s符號:空字元,只可以匹配一個空格、製表符、回車符、換頁符,不可以匹配自己輸入的多個空格。
8、r符號:空格符,與n、tab相同
1、d表示[0—9]
2、D表示[^0—9]
3、w表示[0—9A—Z_a—z]
4、W表示[^0—9A—Z_a—z]
5、s表示[tnrf]
6、S表示[^tnrf]
1、Java:(([a-z]|_)(\w*)){6,20}匹配以字母或下劃線開頭,字母數位下劃線結尾的字串
2、JavaScript:/^(-?)(d+)$/匹配數位
3、JavaScript:/^w+$/匹配字母數位下劃線。
public boolean matches(String regex)
案例:判斷錄入的手機號是否為13或者18開頭
package Lemon; import java.util.Scanner; public class RegexDm { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("請輸入手機好:"); String s = sc.nextLine(); String regex = "1[38]\d{9}";//定義手機好規則 boolean flag = s.matches(regex);//判斷功能 System.out.println("flag:"+flag); } }
public String[] split(String regex)
案例:
package Lemon; import java.util.Scanner; public class RegexDm { public static void main(String[] args){ String age = "18-24";//定義年齡範圍 String regex = "-"; String[] strArr = age.split(regex);//分割成字串陣列 int startAge = Integer.parseInt(strArr[0]); int endAge = Integer.parseInt(strArr[1]); Scanner sc = new Scanner(System.in); System.out.println("請輸入您的年齡:"); int a = sc.nextInt(); if (a >= startAge && a <= endAge){ System.out.println("你就是我想找的"); }else{ System.out.println("滾"); } } }
public String replaceAll(String regex,String replacement)
案例:
package Lemon; public class RegexDm { public static void main(String[] args){ String s = "12342jasfkgnas234"; //把字串裡面的數位替換成* String regex = "\d"; String ss = "*"; String result = s.replaceAll(regex,ss); System.out.println(result); } }
^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
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ :年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ :月/日/年
^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$ :Emil
/^((+?[0-9]{2,4}-[0-9]{3,4}-)|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ :電話號碼
^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ :IP地址
匹配中文字元的正規表示式: [u4e00-u9fa5]
匹配雙位元組字元(包括漢字在內):[^x00-xff]
匹配空行的正規表示式:n[s| ]*r
匹配HTML標記的正規表示式:/<(.*)>.*</1>|<(.*) />/
匹配首尾空格的正規表示式:(^s*)|(s*$)
匹配Email地址的正規表示式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配網址URL的正規表示式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數位下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配國內電話號碼:(d{3}-|d{4}-)?(d{8}|d{7})?
匹配騰訊QQ號:^[1-9]*[1-9][0-9]*$
元字元及其在正規表示式上下文中的行為:
利用正規表示式限制網頁表單裡的文字方塊輸入內容:
整理:
1、效驗QQ號(要求:5-15位數位,0不能開頭)
package Lemon; import java.util.Scanner; public class RegexDm { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("請輸入您的QQ號碼:"); String qq = sc.nextLine(); System.out.println("checkQQ:"+checkQQ(qq)); } private static boolean checkQQ(String qq) { return qq.matches("[1-9]{1}\d{4,14}"); } }
到此這篇關於Java正規表示式的基本用法和範例的文章就介紹到這了,更多相關Java 正規表示式用法範例內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45