正則表達式

本教程來自於C#程序設計windows版第12章正則表達式章節javascript


基本書寫符號\,[],[^],-,(),|

  1. [] 可接收的字符列表java

    [abcd] 匹配a,b,c,d4個字母中的任意**一個**字符
  2. [^]不接收的字符列表^符號非正則表達式

    [^abc] 除abc以外的任意**一個**字符,包括數字,漢字和特殊符號
  3. | 匹配|以前或以後的表達式windows

    ab|cd 匹配ab或者cd
  4. -連字符學習

    a-z 任意單個小寫英文字母
  5. ()將子表達式分組測試

    (abc) 將字符串abc做爲一組
  6. \ 轉義符號設計

    \# 表示符號#,#匹配

限定符*,+,?^,$,{n},{n,},{n,m}

  1. * 指定字符重複0次或者n次code

    (abc)* 僅包含任意個abc的字符串
  2. + 指定字符重複至少1次(指定字符重複1次或n次)regexp

    m+(abc)* 表示 以致少一個m開頭,後接任意個abc的字符串
  3. ? 指定字符重複0次或者1次javascript正則

    m+abc? 表示 以致少一個m開頭,後接ab或者abc的字符串
  4. ^ 指定起始字符

    ^[0-9]+[a-z]* 表示以致少一個數字開頭,後接任意個小寫字母的字符串
  5. $ 指定結束字符

    ^[0-9]\-[a-z]+$ 表示以致少一個數字開頭,後接字符'-',並以致少一個小寫字母結尾的字符串
  6. {n} 只能輸入n個字符

    [abcd]{3} 表示一個只能含abcd這四個字符的三位字符串
  7. {n,} 至少輸入n個字符

    [abcd]{3,} 表示一個只能含abcd這四個字符的長度不小於3的字符串
  8. {n,m} 至少輸入n個,至多輸入m個字符的字符串

    [abcd]{3,5} 表示一個只能含abcd這四個字符的長度不小於3不大於5的字符串

匹配字符集.,\d,\D,\w,\W

  1. . 匹配除換行(\n)以外的任何單個字符

    a..b 以a開頭,b結尾,中間包括兩個任意字符的長度爲4的字符串
  2. \d匹配單個數字字符,至關於[0-9]

    \d{3}(\d)? 表示包含3位或4位數字的字符串
  3. \D 匹配單個非數字字符,至關於[^0-9]

    \D(\d)* 表示以單個非數字字符開頭,後接任意(可爲0)個數字的字符串
  4. \w 匹配單個數字,大小寫字母和漢字字符

    \d{3}\w{4} 表示以三個數字開頭,後跟4個數字,字母或者漢字的字符串
  5. \W 匹配單個除數字,字母和漢字字符之外的其餘字符

    \W+\d{2} 表示以致少一個非數字、字母、漢字開頭,兩位數字結尾的字符串 eg:#?@10

ps:正則表達式這是對字符串的處理。
參考連接:
正則表達式語法
javascript正則表達式語法

作個學習例子:
請聽題:以字母開頭^[a-zA-Z],容許包含[],字母[a-zA-Z],數字[0-9]及下劃線[_],長度爲5到16{5,16}的字符串,用正則表達式來書寫

思考過程在讀題的過程當中已經標出,那麼組合一下應該是^[a-zA-Z][a-zA-Z0-9_]{5,16},不能有空格即不能寫成^[a-zA-Z][a-zA-Z0-9_] {5,16},有空格則錯誤

note:

  • []中是可選字符集,不管有多少,只能選一個
  • 我有個問題,就是上面例子中的{5,16},這個看答案的意思是針對前面全部的字符,即兩個[][],爲何不是隻針對後面那個[],又或者說,{m,n}這種長度模式應該是全局匹配, 即換成下面這道題: 以字母開頭,後接容許5到16個包含字母,數字及下劃線的字符串,用正則表達式來書寫。用js測試一下。
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息