鬆軟科技Web課堂:JavaScript 正則表達式

来源:https://www.cnblogs.com/sysoft/archive/2019/12/15/12043578.html
-Advertisement-
Play Games

正則表達式是構成搜索模式的字元序列。 該搜索模式可用於文本搜索和文本替換操作。 什麼是正則表達式? 正則表達式是構成搜索模式(search pattern)的字元序列。 當您搜索文本中的數據時,您可使用搜索模式來描述您搜索的內容。 正則表達式可以是單字元,或者更複雜的模式。 正則表達式可用於執行所有 ...


正則表達式是構成搜索模式的字元序列。

該搜索模式可用於文本搜索和文本替換操作。

什麼是正則表達式?

正則表達式是構成搜索模式(search pattern)的字元序列。

當您搜索文本中的數據時,您可使用搜索模式來描述您搜索的內容。

正則表達式可以是單字元,或者更複雜的模式。

正則表達式可用於執行所有類型的文本搜索和文本替換操作。

語法

/pattern/modifiers;

 

實例

var patt = /Sysoft/i;

 

例子解釋:

/sysoft/i 是一個正則表達式。

sysoft是模式(pattern)(在搜索中使用)。

i 是修飾符(把搜索修改為大小寫不敏感)。

 

使用字元串方法

在 JavaScript 中,正則表達式常用於兩個字元串方法:search() 和 replace()。

search() 方法使用表達式來搜索匹配,然後返回匹配的位置。

replace() 方法返回模式被替換處修改後的字元串。

使用字元串方法 search() 來處理字元串

search() 方法也接受字元串作為搜索參數。字元串參數將被轉換為正則表達式:

實例

使用字元串來執行對 "sysoft" 的搜索:

var str = "Visit sysoft!";
var n = str.search("sysoft"); 

 

在字元串方法 search() 中使用正則表達式

實例

使用正則表達式執行搜索字元串中 "sysoft" 的大小寫不敏感的搜索:

var str = "Visit sysoft";
var n = str.search(/sysoft/i); 

n 中的結果將是:

6

親自試一試

使用字元串方法 replace() 處理字元串

replace() 也接受字元串作為搜索參數:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "sysoft"); 

親自試一試

在字元串方法 replace() 中使用正則表達式

實例

使用大小寫不明的正則表達式以 sysoft 來替換字元串中的 Microsoft:

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "sysoft"); 

res 的結果將是:

Visit sysoft!

 

您註意到了嗎?

正則表達式參數(而不是字元串參數)可以在上面的方法中使用。

正則表達式可以使您的搜索更強大(例如,不區分大小寫)。

正則表達式修飾符

修飾符可用於大小寫不敏感的更全局的搜素:

正則表達式模式

括弧用於查找一定範圍的字元串:

表達式描述
[abc] 查找方括弧之間的任何字元。  
[0-9] 查找任何從 0 至 9 的數字。  
(x|y) 查找由 | 分隔的任何選項。  

元字元(Metacharacter)是擁有特殊含義的字元:

元字元描述
\d 查找數字。  
\s 查找空白字元。  
\b 匹配單詞邊界。  
\uxxxx 查找以十六進位數 xxxx 規定的 Unicode 字元。  

Quantifiers 定義量詞:

量詞描述
n+ 匹配任何包含至少一個 n 的字元串。  
n* 匹配任何包含零個或多個 n 的字元串。  
n? 匹配任何包含零個或一個 n 的字元串。  

使用 RegExp 對象

在 JavaScript 中,RegExp 對象是帶有預定義屬性和方法的正則表達式對象。

使用 test()

test() 是一個正則表達式方法。

它通過模式來搜索字元串,然後根據結果返回 true 或 false。

下麵的例子搜索字元串中的字元 "e":

實例

var patt = /e/;
patt.test("The best things in life are free!"); 

 

由於字元串中有一個 "e",以上代碼的輸出將是:

true

您不必首先把正則表達式放入變數中。上面的兩行可縮短為一行:

/e/.test("The best things in life are free!");

 

使用 exec()

exec() 方法是一個正則表達式方法。

它通過指定的模式(pattern)搜索字元串,並返回已找到的文本。

如果未找到匹配,則返回 null。

下麵的例子搜索字元串中的字元 "e":

實例

/e/.exec("The best things in life are free!");

 

由於字元串中有一個 "e",以上代碼的輸出將是:

e
----------------------------------------------------------------------------------------------------------------------------------

文章來源:www.sysoft.net.cn,加v:15844800162深度交流

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

-Advertisement-
Play Games
更多相關文章
  • 學習這部分時也學了不少代碼,一段一段往這上面寫實在有點~~~ 直接把代碼部署到代碼該在的地方吧,哈哈哈 "這是網址" 把代碼放這上面就好多了,不怕代碼丟,還可保證代碼完整,嘻嘻嘻~~~~~~ ...
  • 一個具有頂部,底部和中間的html頁面,但沒有js 可以改一下頁面的固定樣式部分 ``` ...
  • 基本內容 index.wxml index.js 這一串在這沒有什麼用,是創建時自帶的,下麵這個也是 index.css ...
  • 首發於微信公眾號《前端成長記》,寫於 2019.12.15 背景 本文記錄刷題過程中的整個思考過程,以供參考。主要內容涵蓋: 題目分析設想 編寫代碼驗證 查閱他人解法 思考總結 目錄 "110.平衡二叉樹" "111.二叉樹的最小深度" "112.路徑總和" "118.楊輝三角" "119.楊輝三角 ...
  • vue 完整代碼 這是一個完整的vue案例,但是介面似乎都失效了,單是代碼本身還是很有參考價值的呦!~ 裡面包含了:vue,vue router,。。。。,還是直接看json文件吧 都用到了這些技術,嘿嘿嘿 所以來說還是很值得一看的,如果會寫介面的話,還可以自己寫一個介面代替上去 OK,接下來就是就 ...
  • order order 屬性 設置或檢索彈性盒模型對象的子元素出現的順序。。 註意:如果元素不是彈性盒對象的元素,則 order 屬性不起作用。 "詳解查看官方解釋" ...
  • 大家好,我是Dotnet9小編,一個從事dotnet開發8年+的程式員。本文介紹WordPress主題JustNews,本站Dotnet9既是使用WordPress + JustNews主題搭建而成的。 WordPress是世界上流行的建站程式,英文世界中有超過10,000個WordPress主題, ...
  • 伸縮佈局 參考鏈接:https://developer.mozilla.org/zh CN/docs/Web/CSS/flex 以前在網頁開發過程中,佈局一直是不可或缺的,從最早的表格佈局,到後來的DIV+CSS佈局,現在再到CSS3的伸縮佈局。 CSS3在佈局方面做了非常大的改進,使得我們對塊級元 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...