這篇文章大體介紹正規表示式,以後再用不著找了,之後有乙個日期的格式校驗。
背景:之前有篇部落格寫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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...