正規表示式

2021-06-02 16:38:44 字數 1735 閱讀 2513

這篇文章大體介紹正規表示式,以後再用不著找了,之後有乙個日期的格式校驗。  

背景:之前有篇部落格寫excel匯入mysql但是匯入資料都是int型的,基本不用校驗,後來老師說用乙個學生表,結構如下,

create table `xsb` (

`xh` char(6) not null,

`xm` varchar(8) not null,

`xb` bit(1) default null,

`cssj` datetime default null,

`zy_id` int(11) not null,

`zxf` int(11) default null,

`bz` varchar(500) default null,

`zp` mediumblob,

primary key  (`xh`)

) engine=myisam default charset=gbk checksum=1 delay_key_write=1 row_format=dynamic

各種資料,從excel匯入時就需要轉換,並且之前最好要校驗以保證之後持久化不會出錯,例如性別 是 一位的 bit   只需 轉換成int  並》=0&&<=1  這些都不是問題,但是日期就很麻煩 我的日期格式是:yyyy/mm/dd  對它校驗正規表示式很方便。

進入正題:

正規表示式是用來校驗乙個string是否符合格式要求

方法: publicboolean matches(string regex)  //判斷當前字串是否符合  括號裡的格式

例如:   string str="3hello";

if(str.matches("\\dhello"))    // 「\\dhello」 其中\\d表示0~9 中任意乙個   從而判斷str 是否符合乙個數字加hello的格式

。             任意乙個字元

\\d                        0到9的乙個

\\d                        任意乙個非數字字元

\\s                         空格類字元 『\t』  『\n』  『\x0b』  『\f』  『\r』 

\\s                        非空格類字元      

\\w                        可用於標示的字元(不包括美元字元)

\\w                       不能用於標示符的字元

\\p            小寫字母a~z

\\p            大寫字母

\\p          字母或數字   

\\p            可列印字元

\\p             空格或製表符[\t]

帶限定符號的模式

x?                x出現0或1次

x*                 x出現0或多次

x+                 x出現1次或多次

x             x恰好出現n次

x            x至少出現n次

x          x出現n次至m次

下面簡單例子:

時間      要校驗 時間是否符合  1989/2/15  1990/15/2    (斜槓連線)

\\d[/]\\d[/]\\d

if(string.matches(「\\d[/]\\d[/]\\d」))

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 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 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...