JavaScript連載24-正則表達式

来源:https://www.cnblogs.com/ruigege0000/archive/2020/07/14/13296806.html
-Advertisement-
Play Games

一、正則表達式 1.基本概念(簡略) 三大作用:匹配,提取,替換 正則表達式的組成:普通字元和元字元 元字元 元字元描述 \d 匹配一個數字字元,等價於[0-9] \D 匹配一個非數字字元,等價於[^0-9] \w 匹配一個包括下劃線在內的任意單詞字元,等價於[A-Za-z0-9] \W 匹配任何非 ...


一、正則表達式

1.基本概念(簡略)

  • 三大作用:匹配,提取,替換
  • 正則表達式的組成:普通字元和元字元
  • 元字元
元字元描述
\d 匹配一個數字字元,等價於[0-9]
\D 匹配一個非數字字元,等價於[^0-9]
\w 匹配一個包括下劃線在內的任意單詞字元,等價於[A-Za-z0-9]
\W 匹配任何非單詞字元,等價於[^A-Za-z0-9]
\s 匹配任何空白字元,包括空格、製表符、換頁符等,等價於[\f\n\r\t\v]
\S 匹配任何非空白字元,等價於[^\f\n\r\t\v]
. 匹配除了"\n"之外的任何字元,要匹配包括"\n"在內的任何字元,請使用(.
^ 匹配輸入字元串的開始位置,如果設置了RegExp對象的Multiline屬性,^也匹配\n或者\r之後的位置。
$ 匹配輸入字元串的結束位置,如果設置了RegExp對象的Multiline屬性,^也匹配\n或者\r之前的位置。
  • 限定符
限定符描述
* 匹配前面的子表達式>=0次
+ 匹配前面的子表達式>=1次
? 匹配前面的子表達式0次或者1次
{n} n是一個非負整數,匹配前面的子表達式n次
{n,} n是一個非負整數,匹配前面的子表達式至少n次
{n,m} n是一個非負整數,匹配前面的子表達式至少n次,最多m次
  • 其他
其他描述
[xyz] 字元集合,匹配包含的任意一個字元。
[^xyz] 負值字元集合,匹配未包含的任意字元。
[a-z] 能匹配的字元範圍
[^a-z] 負值字元範圍,匹配任何不在指定範圍的任意字元。

2.兩種正則表達式方法

    //第二個參數,i執行對大小寫不敏感,g執行全局匹配(查找所有匹配值而非在找到第一個匹配後停止),m執行多行匹配
    var reg = new RegExp('^ab[a-z]','i');
    var str = 'ABC';
    console.log(reg.test(str));//匹配成功就會返回true

    //字面量
    var reg2 = /ab[a-z]/i;//還有這種正則表達式
    var str2 = "ABshdu";
    console.log(reg2.test(str2));

運行結果
24.1

3.正則表達式相關的方法

(1)RegExp對象

  • test() 匹配
  • exec() 提取一個內容\

(2)針對String對象

  • replace()替換
  • split() 切割
  • search() 搜索

二、源碼:

    • D24_1_RegularExpression.html
    • 地址:https://github.com/ruigege66/JavaScript/blob/master/ D24_1_RegularExpression.html
    • 博客園:https://www.cnblogs.com/ruigege0000/
    • CSDN:https://blog.csdn.net/weixin_44630050?t=1
    • 歡迎關註微信公眾號:傅里葉變換,個人賬號,僅用於技術交流,後臺回覆“禮包”獲取Java大數據學習視頻禮包
      20.4

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Apache Flink介紹 俗話說知子莫若父,要想瞭解一門技術就要看官方的介紹。Flink官網對Flink的介紹是這樣的: Apache Flink is a framework and distributed processing engine for stateful computations ...
  • 原文鏈接:原文來自個人公眾號—C you again 對於IT從業者來說,電腦網路是一門必修課,也是一塊硬骨頭,不論是你是在工作中還是面試時,都需要掌握一些網路技術。從本期開始,小編對電腦網路中出現的高頻知識點和題目進行收集整理,方便大家使用。 題目:計算並填寫下表 IP地址 111.181.2 ...
  • Redis通過主從複製完成數據遷移 進入新的伺服器,執行從庫配置,slaveof 命令配置當前Redis的主機,info命令可以查看Redis的信息。執行完slaveof命令後執行info命令查看master_link_status的值如果為up表示同步完成。這時候該Redis的角色為slave。 ...
  • docker Redis容器通過dump.rdb文件進行數據遷移或恢複數據 拉取Redis鏡像 # 拉取最新的Redis鏡像 $docker pull redis 進入舊的Redis容器保存數據 $docker exec -it old_aley_redis redis-cli 127.0.0.1: ...
  • 最近,突然想起來資料庫有好些時間沒用到,所以,想把資料庫有關的知識回顧一下,所以接下來這個月,基本上會以資料庫的帖子來寫為主,首先,很多同學都會有個錯覺,覺得學習資料庫會sql語句的增刪改查就夠了,其實,這僅僅是片面的認知,掌握了這些還遠遠不夠,sql是你作為謀求生計的基本功,不會也得會,但是,要想 ...
  • 新聞 讓分享菜單變更簡潔:Android 11 Beta 2將應用的多個分享選項合併 Android 11新功能Auto-Connect:無需再為自動連接Wi-Fi煩惱 原生滾動截屏功能將不會出現在 Android 11 最終版本中 谷歌正為用戶和開發者打造全新Android平板體驗 更多細節八月公 ...
  • 基本數據類型(7種) number 1,2,3...... string '你好', 'hello', "helleo" boolean false/ true null undefined symbol object arr/fuction 標識符 : 所有用戶自定義的名字叫做標識符 1.不能以數 ...
  • ------------------------------------------------------------------------------------------------------------------------------------------------------... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...