JavaScript---正則表達式

来源:http://www.cnblogs.com/hellowhy/archive/2016/11/19/6080716.html
-Advertisement-
Play Games

在JavaScript中,RegExp對象表示正則表達式,用來對字元串進行匹配。 一、兩種定義方法: 1、直接量法: /pattern/attribute 2、對象法: new RegExp(pattern,attribute); 參數說明: pattern是一個字元串,指定了正則表達式的模式或其他 ...


在JavaScript中,RegExp對象表示正則表達式,用來對字元串進行匹配。

一、兩種定義方法:

1、直接量法:

/pattern/attribute

2、對象法:

new RegExp(pattern,attribute);

參數說明:

pattern是一個字元串,指定了正則表達式的模式或其他的正則表達式;

attribute是一個可選的字元串,用來模式匹配的範圍,包括i,g,m三個字元,分別代表區分大小寫匹配、全局匹配和多行匹配。(如果pattern是正則表達式而不是字元串,怎必須刪除該參數)

 i-->ignoreCase;

g-->gloable;

m-->multiLine;

二、正則表達式語法說明:

正則表達式的語法從修飾符、方括弧、元字元、量詞、RegExp對象屬性、RegExp對象方法和支持正則表達式的String對象的方法等七個方面進行描述:

1、修飾符:

 
修飾符 描述
i 執行對大小寫不敏感的匹配
g 執行全部匹配(查找所有的匹配項,而非在找到第一個匹配項後結束)
m 執行多行匹配                                                                            

 

 

 

 

2、方括弧:

表達式 描述
[abcd] 查找給定集合內的任意字元
[^abcd] 查找不在給定集合內的任意字元
[0-9] 查找任何從0到9的數字
[a-z] 查找任何從a到z的小寫字母
[A-Z] 查找任何從A到Z的大寫字母
[A-z] 查找任何從大寫A到小寫z的字母
[red|blue|green] 查找任何指定的選項                                                    

 

 

 

 

 

 

3、元字元

元字元 描述
. 查找任意一個字元,不包括換行符和行結束符
\w 查找單詞字元,單詞字元包括a-z、A-Z、0-9和下劃線
\W 查找非單詞字元
\d 查找數字
\D 查找非數字字元
\s 查找空白字元,包括空格符、製表符、回車符、換行符、垂直換行符和換頁符
\S 查找非空白字元
\b 匹配單詞邊界
\B 匹配非單詞邊界
\0 查找null字元
\n 查找換行符,返回換行符被找到的位置,如果沒有就返回-1
\f 查找換頁符
\r 查找回車符
\t 查找製表符
\v 查找垂直製表符
\××× 查找以八進位數×××規定的字元
\×dd 查找以十六進位dd規定的字元
\u×××× 查找以十六進位××××規定的unicode字元

 

 

 

 

 

 

 

 

 

 

 

 

 

4、量詞

量詞 描述
n+ 匹配包含至少一個n的字元串
n* 匹配包含0個或多個n的字元串
n? 匹配包含0個或1個n的字元串
n{X} 匹配包含x個n的序列的字元串
n{X,Y} 匹配包含X個或Y個n的序列的字元串
n{X,} 匹配至少包含X個n的序列的字元串
n$ 匹配任何以n結尾的字元串
^n 匹配任何以n開頭的字元串
?=n 匹配任何其後緊接指定字元串n的字元串
?!n 匹配任何其後不緊接指定字元串n的字元串                                              

 

 

 

 

 

 

 

 

5、RegExp對象屬性

屬性 描述
gloable RegExp對象是否有g標示,RegExpObject.global,返回boolean類型
ignoreCase RegExp對象是否有i標示,RegExpObject.global,返回boolean類型
multiline RegExp對象是否有m標示,RegExpObject.global,返回boolean類型
lastIndex 一個整數,表示下一次開始匹配的位置
source 正則表達式原文本   ,返回模式匹配所用的文本                                                                   

 

 

 

 

 

6、 RegExp對象方法

方法 描述
compile 編譯正則表達式。用法:RegExpObject.compile(regexp,modifier) modifier規定匹配的類型-->i,m,g
exec 檢索字元串中指定的值,返回找到的值並確定其位置,如果沒找到則返回null
test 檢索字元串中指定的值,返回boolean類型.用來判斷一個字元串是否匹配某個模式,RegExpObject.test(String)

 

 

 

 

7、支持正則表達式的 String 對象的方法

方法 描述
search 檢索與正則表達式相匹配的值或指定的子字元串。用法:stringObject.search(regexp)
match 匹配指定的值或與一個或多個正則表達式匹配的字元串。用法:stringObject.match(searchvalue);stringObject.match(regexp)
replace 用一些字元替換另一些字元或替換與一個正則表達式匹配的子串。用法:stringObject.replace(regexp/substr,replacement),前者是子串或要替換的正則表達式,後者是替換文本
split 用於把一個字元串分割成字元串數組。用法:stringObject.split(separator,howmany)。前者必須,字元串或正則表達式,從該參數指定的地方開始分割。

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

-Advertisement-
Play Games
更多相關文章
  • #!C:\Program Files\Python35/bin# -*- conding:utf-8 -*-# author: Frankuser_input = input("please input your name:") #input 函數的使用print("User input Msg:" ...
  • 軟體工程的構件化道路發展到今天,已經具有成熟的技術。這就像今天的大廈建築一樣,使用預製的構件,就能建造萬丈高樓。同樣道理,使用Spring Boot開發框架,也可以支持這種構件化的功能,正像其官方網站所介紹的那樣,你甚至可以不用寫一行代碼,就可運行一個應用:“Spring Boot makes it ...
  • (一) 下邊使用outputStream位元組輸出流進行寫操作 package zdbIO;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.I ...
  • 6 類型推測 java編譯器能夠檢查所有的方法調用和對應的聲明來決定類型的實參,即類型推測,類型的推測演算法推測滿足所有參數的最具體類型,如下例所示: 6.1 泛型方法的類型推測 類型的推測可以使泛型方法的使用語法和普通的方法一樣,不必指定尖括弧內的類型,如上述例子。 6.2 泛型類的類型推測 對於泛 ...
  • 複習一下: 1.先創建一個properties配置文件 2.載入讀取配置文件 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.s ...
  • 一切偉大的行動和思想,都有一個微不足道的開始! ...
  • 1、列偏移與列排序: ①列偏移:控制列出現的位置,某列偏移後,後序列會隨之偏移——只能右偏移; col-lg/md/sm/xs-offset-*; ②列排序:控制某一列的位置,該列可以左(pull)右(push)調整,其排序後,其它列不受影響; col-lg/md/sm/xs-push-*:右移; ...
  • js元素綁定事件 想給一個元素綁定一個方法之後,在綁定一個方法而且不被覆蓋 window.onload = function () { alert('a'); } window.onlaod=function(){ alert('b') } 我們發現它只彈出一個,有一個被覆蓋了 下麵就說一下js中的 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...