system.out.println("大於0的正整數:"+"0.001".matches("^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])|0$"));
正規表示式
最簡單易懂的正規表示式
只需要三步
第一步:+ * ? . () | \ {}
第二步:^ $
第三步:\d \w
(不明白什麼意思的看最下邊的註解)
學會三步以後: 那麼你就掌握了 正規表示式的 **號碼的正規表示式 郵箱的正規表示式 判斷字串大於等於0的正規表示式
例如: 問題: 判斷字串大於等於0的字串 ?
分析: 可能出現0.001的 可能出現 1的 這是最典型條件
分析1: 如果先判斷大於等於1的 那麼 第一位一定是1-9 正則寫法: [1-9]
分析2: 如果第二位只要是數字就可以,可以有0到多位 正則寫法: \d*
分析3: 如果有小數點的話,小數點後面可以跟多位或至少一位的數 那麼 正則寫法: .[0-9]*[1-9]
分析4: 如果是小於1 且大於0的數,就是第一位是0,第二位是 . 第三位就跟分析3 一樣就可以了 正則寫法: 0.[0-9]*[1-9]
分析5: 現在得出 大於等於1的正規表示式: [1-9]\\d*(\\.[0-9]*[1-9])? 大於等於0小於1的正規表示式: 0\\.[0-9]*[1-9]
最終結果 大於0的整數但是不等於0: ^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])$
myeclipse 執行 : system.out.println("大於0的正整數除0外:"+"0".matches("^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])$"));
如果想要 大於等於0 的整數直接在後面新增乙個或 和0 就可以了 用例: system.out.println("大於0的正整數:"+"0.001".matches("^([1-9]\\d*(\\.[0-9]*[1-9])?)|(0\\.[0-9]*[1-9])|0$"));
(不明白什麼意思的看最下邊的註解)
+ 表示次數中的一次到多次(非洲)
* 表示次數中的0次到多次(中國)
?表示次數中的0次到1次(金星)
. 表示可做小數點使用
()表示子表示式
表示取值範圍 例如:[1-9] 這個位置只能輸入1-9的數字
| 表示或者
\ 表示轉義字元
{} 表示次數 例如: z 這個位置最少輸入1個z 最多輸入2個z
^ 表示開始
$ 表示結束
\d 表示只能輸入數字
\w 表示只能輸入任意單詞字元[a-za-z0-9_]*/
正規表示式 不等於 正規表示式使用
正規表示式是文字搜尋的乙個利器,掌握它定會提高你的工作效率。要使用正規表示式就必須知道有哪些元字元以及它們所代表的意義,這裡我就不再對每個元字元做說明了,假設你已經了解了這些知識,如果還不了解可以參考網上的一些資料。比如11位的手機號 0 9 匹配結果如下圖 大括號裡的數字表示重複前面匹配的數量,有...
js正則大於0小於100 正規表示式詳解(基礎篇)
前言 對正規表示式一直都很嚮往覺得他很神奇,尤其是在處理前端頁面表單的時候,實在不想寫if else判斷,所以抽了點時間簡單學習了一下,總結下學習成果。我在處理表單驗證和頁面資料渲染的時候會用到正規表示式,對正規表示式也不是很熟悉。1 test 匹配字串如果匹配到,包含返回true,不包含返回fal...
正規表示式學習 0
literal 匹配字串的字面值 re1 re2 匹配正規表示式re1或者re2 擇一匹配,或邏輯 匹配任意字元 除 n 匹配字串起始部分 以該字串為起始串 匹配字串結束部分 以該字串為結尾串 匹配0次或者多次前面出現的正規表示式 匹配一次或者多次前面出現的正規表示式 標題 匹配0次或者一次前面出現...