红穆笔记
首頁 踩坑總結 常用正則表達式
踩坑總結

常用正則表達式

常用正则表达式

正則表達式

網址(URL)

[a-zA-z]+://[^\s]*

IP地址(IP Address)

((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

電子郵件(Email)

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

QQ號碼

[1-9]\d{4,}

HTML標記(包含內容或自閉合)

<(.*)(.*)>.*<\/\1>|<(.*) \/>

密碼(由數字/大寫字母/小寫字母/標點符號組成,四種都必有,8位以上)

(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$

日期(年-月-日)

(\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))

日期(月/日/年)

((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})

時間(小時:分鐘, 24小時制)

((1|0?)[0-9]|2[0-3]):([0-5][0-9])

漢字(字符)

[\u4e00-\u9fa5]

中文及全角標點符號(字符)

[\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]

中國大陸固定電話號碼

(\d{4}-|\d{3}-)?(\d{8}|\d{7})

中國大陸手機號碼

1\d{10}

中國大陸郵政編碼

[1-9]\d{5}

中國大陸身份證號(15位或18位)

\d{15}(\d\d[0-9xX])?

非負整數(正整數或零)

\d+

正整數

[0-9]*[1-9][0-9]*

負整數

-[0-9]*[1-9][0-9]*

整數

-?\d+

小數

(-?\d+)(\.\d+)?

不包含abc的單詞

\b((?!abc)\w)+\b

正則表達式:是指一個用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串,簡單說,就是我們寫個模板,然後去匹配字符串。

  下面我們來看看一些基本的正則表達式的語法:

  :將下個字符標記爲一個特殊的字符、一個原義字符、一個向後引用或者一個八進制轉義符例如“n”就是匹配一個換行符。

  ^:匹配開始位置,^(a)這個就匹配開頭必須爲a。

  $:匹配結束位置,$(a)這個就匹配結尾必須爲a。

  :匹配前面的子表達式零次或者多次,如“xu”這個表達式就能夠匹配“x”和“xuu”。

  +:匹配前面的子表達式一次或者多次,如“xu+”這個表達式就能夠匹配“xuu”和“xu”,但不能夠匹配“x”,這個就是和“*”的區別。

  ?:匹配前面的子表達式零次或者一次,如“xu?”這個表達式就能夠匹配“jian(guo)?”就可以匹配“jian”和“jianguo”。

  {n}:n是一個非負數,匹配n次,如“guo{2}”,可以匹配“guoo”,不能匹配“guo”。

  {n,}:n是一個非負數,匹配至少n次。

  {n, m}:m、n都是非負數,最少匹配n次,最多匹配m次。

  (pattern):匹配pattern並獲取匹配結果。

  (?:pattern):匹配pattern但不獲取匹配結果。

  x|y:匹配x或y,如“(xu|jian)guo”匹配“xuguo”或者“jianguo”。

  [xyz]:字符集合,匹配所包含的任意字符。如“[abc]”可以匹配“apple”中的“a”。

  1:匹配未被包含的字符。

  [a-z]:字符範圍,匹配指定範圍內的任意字符。

  2:匹配指定不在範圍內的任意字符。

  b:匹配一個單詞的邊界,如“guob”可以匹配“xujianguo”中的“guo”。

  B:匹配非單詞邊界,如“jianB”可以匹配“xujianguo”中的“jian”。

  d:匹配一個數字字符,等價於“[0-9]”。

  D:匹配一個非數字字符。

  f:匹配一個換頁符。

  n:匹配一個換行符。

  r:匹配一個回車符。

  s:匹配任何空白字符

  其實還有很多語法我就不一一列舉了,先說這麼多先


  1. xyz ↩
  2. a-z ↩

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

浏览器缓存增加你网站二次访问速度

瀏覽器緩存增加你網站二次訪問速度 踩坑總結

使用瀏覽器緩存官方話語:如果用戶會多次訪問您的網站,那麼靜態資源的瀏覽器緩存可以節省用戶的時間。緩存標頭應當應用到所有可緩存的靜態資源中,而不僅僅是應用到一小部分靜態資源(例如,圖片)中。可緩存的資源包括JS和CSS文件、圖像文件及其他二進制對象文件(媒體文件和PDF文件等)。通常情況下,HTML不…
👁 202
万能网站pv转广告点击插件

萬能網站pv轉廣告點擊插件 踩坑總結

之前有一個客戶找我給他寫一個網站pv轉廣告點擊的插件,我按照他的要求給他寫了一個插件,只需要將一下代碼放入一個php文件,然後在引入這個php文件即可實現這個功能.PHP插件代碼:&lt;?php /***********************參數配置開始*********************…
👁 229

推薦閱讀

资源网站typecho001模板

資源網站typecho001模板 程序筆記 Typecho

typecho001模板板本請勿修改本模板文件夾名稱 文件夾名稱爲:typecho001 1.4修復文章頁面js輸出問題1.3修復未安裝插件時的報錯提示優化列表頁代碼輸出1.2修復評論功能增加自定義首頁標題1.1修復評論回覆不對稱功能添加首頁單獨的標題設置功能增加網站favicon.ico圖標增加一…
👁 198
typecho分页样式的修改

typecho分頁樣式的修改 程序筆記 Typecho

大人,時代變了!目前typecho最完美的解決方案了,因爲百度只能看到固定思維的代碼。實際生成的html代碼,乾淨到讓人窒息完全的自定義,包括給li元素加上class,給a元素加上class,給上一頁下一頁加上class,去除typecho自帶用於表示更多的li標籤。甚至裏面的內容我也能添加一些文字…
👁 516
typecho文章页评论样式修改

typecho文章頁評論樣式修改 程序筆記 Typecho

需求使用 typecho 進行模板開發的時候,默認評論樣式很難看。因此需要評論需要重新輸出或進行樣式設定。默認的評論模板文件路徑是:comments.php主要使用的相關變量&lt;?php $comments-&gt;gravatar('40', ''); ?&gt; //頭像,有兩個參數,大小、…
👁 387
Typecho 对数据库的增删改查操作方法 API

Typecho 對數據庫的增刪改查操作方法 API 程序筆記 Typecho

Typecho數據庫提供了非常易用的api,和原生SQL寫法沒有太大的差別,同時也很好地處理了SQL常見的安全問題,如sql注入。本文從實用角度出發,介紹了typecho操作數據庫的常用場景以及相關api用法。表創建和刪除在Typecho插件開發過程中,往往需要創建自己的表。上文提到Typecho_…
👁 552
PHP ob函数记录

PHP ob函數記錄 語言筆記 PHP

下面3個函數的用法 ob_get_contents(); ob_end_clean(); ob_start(); 可以藉助這幾個函數實現緩衝本地文件,以及執行本地腳本代碼。 使用ob_start()把輸出的代碼存到緩衝區,頁面不會顯示出來; 然後用ob_get_contents得到緩衝區的數據。 o…
👁 141
Typecho调用热门评论文章和调用最新文章的方法总结

Typecho調用熱門評論文章和調用最新文章的方法總結 程序筆記 Typecho

Typecho文章調用Typecho程序在設計主題的時候,側欄有些時候需要調用熱評文章或者最新文章。我們可以在指定的位置通過腳本直接調用。在這篇文章整理這個調用文章的方法,以後在有需要的模板中可以直接調用使用。其實設計主題就那麼回事,靜態模板搞定後,就是直接調用。最新文章調用 &lt;?php $t…
👁 295