正則表達式A - 方法及特殊字符用法

2021-01-18 騰訊網

課程大綱

1.正則表達式的概念及作用

2.正則表達式的創建方法

3.正則表達式的用法

正則表達式概念:

正則表達式是由普通字符及特殊字符組成的對字符串進行過濾的邏輯公式

正則表達式的創建方式:

1.字面量方式創建 (隱式創建):

var reg = /正則表達式/gi;

2.構造函數方式 (顯示創建):

var regExp = new RegExp( 「正則表達式」,」gi」 );

我們來實際編寫一下:

運行結果如下:

test方式:是用來檢測字符串中是否含有符合規則的子字符串。有就返回 true;沒有返回false

除了正則表達式這種書寫方式呢,通常我們需要給正則表達式添加一些修飾符

正則表達式修飾符:

也就是我們上面創建方式的最後兩個字符g和i

g:表示全局匹配

i:表示忽略大小寫

我們來編寫一下:

運行結果如下:

math方法:字符串方法,在字符串內找符合條件的值,或者找一個或多個正則表達式

如果我們不加g,就會返回一個abc

再來看一下i的編寫:

如果我們只寫i

那麼運行結果仍然是1個,因為沒有加全局變量:

這就需要g和i的同時使用,才可以全部取到:

運行結果如下:

不分大小寫全部獲取,這時輸出結果正確

除了test和match方法以外:

seach:字符串方法,用於查找符合規則的子字符串的位置,只返回第一個匹配的位置

運行結果如下:

split:字符串方法,以某某字符串進行分割

以!分割,運行結果如下:

replace:字符串方法,替換,第二個參數將第一個參數替換掉

用666替換tmd,運行結果如下:

exec:正則表達式的方法,將匹配成功的內容放到數組裡,沒有匹配成功返回null

exec方法需要多次寫才能輸出對應的結果,,運行結果如下:

這也是exec和match的區別

正則表達式特殊字符

.除了換行符之外的所有單個字符

運行結果如下:

如果g後面是一個點,g.g,返回的將是false

* 重複多次匹配,匹配任意( 0 - n次)

運行結果如下:

如果str中沒有g或l或e,就會返回false,再多g也是true

+ 表示至少匹配一次,至少有一個

運行結果如下:

如果str中為ggle,那麼匹配結果就為true

? 匹配0到1次匹配

運行結果如下:

str中g再多,也是返回最多一次,最少0次的g

[ ] 可以出現的範圍

例如[0-9]表示0到9之間的整數

運行結果如下:

也可以測試a-z或者A-Z等等一些範圍

\w 數字字母下劃線,等同於上面匹配 [0-9a-ZA-Z_]

運行結果如下:

只要是在[0-9a-zA-Z_]之內的都返回true

\W 表示與小寫\w相反的結果

非 [0-9a-zA-Z_] 數字字母下劃線都為true

運行結果如下:

\d 數字0-9,相當於[0-9]

運行結果:

如何和上面寫成\d+,就會將12345當做一個數組

\D 和\d相反,非數字,非[0-9]

運行結果如下:

如果12345後面有字母就會返回true

\s 匹配空格

運行結果如下:

至少匹配m次,至多匹配n次

三種寫法如下所示:

運行結果如下:

/^ 匹配開始 $/匹配結尾

很明顯,以e結尾,返回false:

如果將$後改為e就為true

| 或

運行結果如下:

( ) 分組,將內容作為一個整體進行匹配

運行結果如下:

這個分組內容的獲取對象是RegExp.$1

運行結果如下:

$1 $2等 獲取對應的元素

運行結果如下:

本節所講到的:

正則表達式方法:test、 exec

字符串方法:match、search、split、replace、replace

格式:

正則方法是 定義的正則表達式. 正則方法 (字符串);

字符串方法是 字符串 . 字符串方法 (定義的正則表達式);

特殊字符的用法:

.//除了換行符之外的所有單個字符

* //重複多次匹配

+//表示至少匹配一次

?//匹配0到1 次

[] //可以出現的範圍 例如[0-9]表示0到9之間的整數

\w //數字字母下劃線,等同於上面[0-9a-ZA-Z_]

\W //非數字字母下劃線,非[0-9a-ZA-Z_]

\d //數字0-9,相當於[0-9]

\D//非數字0-9,相當於非[0-9]

\s //匹配空格

//至少匹配m次,至多匹配n次

/^//匹配開始 $/匹配結尾

|//或,匹配其中的一個

( ) //分組,將內容作為一個整體進行匹配

$1 $2等 //獲取對應的元素

-寫作不易,大家多多關注,謝謝啦-

---web分享,分享的不只是web

相關焦點

  • Python正則表達式:特殊符號和字符
    正表達式為高級的文本模式匹配,抽取,與/或文本形式的搜索和替換功能提供了基礎。簡而言之,正則表達式(簡稱regex)是由一些字符和特殊符號組成的字符串,它描述了模式的重複或者表達多個字符。python通過標準庫中的re模塊來支持正則表達式。
  • 正則表達式:如何匹配一個或多個字符?
    匹配任意字符前面見到的正則表達式都是靜態純文本,它們根本體現不出正則表達式的威力。下面我們一起來看看如何使用正則表達式去匹配不可預知的字符。在正則表達式裡,特殊字符(或字符集合)用來給出要搜索的東西。字符. (英文句號) 可以匹配任何一個單個的字符。如果你曾經使用過DOS的文件搜索功能,你將發現正則表達式裡的,字符相當於DOS的?
  • python正則表達式使用方法說明
    二、使用正則表達式步驟1、尋找規律;2、使用正則符號表示規律;3、提取信息,如果每一個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。2.星號「*」一個星號可以表示它前面的一個子表達式(普通字符、另一個或幾個正則表達式符號)0次到無限次。3.問號「?」問號表示它前面的子表達式0次或者1次。注意,這裡的問號是英文問號。
  • Python 正則表達式-函數用法分析
    Python正則表達式的主要作用是檢索、替換符合匹配規則的文本,什麼時候檢索,什麼時候替換,我們根據需求,選擇最合適的函數。【函數一】compile(pattern, flags=0)我們編寫的正則表達式 pattern,指定使用的模式 flags 默認為0 即不使用任何模式【函數二】 purge()這個函數的作用是清除緩存中的正則表達式【函數三】escape(pattern)如果需要操作的文本中含有正則的元字符時,需要將元字符加上反斜扛
  • 在JavaScript字符串的search()方法中,如何匹配正則表達式?
    第二節:正則表達式特點正則表達式是由字符串組成的。正則表達式只是一種搜索模式或匹配模式。對於具體的字符串,需要經過正則表達式的計算後,形成一個值來判斷是否匹配上。正則表達式可簡單,可複雜,需要根據語法定義模式。在各個程式語言中,也會推出一些與正則表達式相關的輔助操作,如替找操作等。
  • PHP正則表達式的快速學習方法
    此外,象JavaScript這種客戶端的腳本語言也提供了對正則表達式的支持。由此可見,正則表達式已經超出了某種語言或某個系統的局限,成為人們廣為接受的概念和功能。正則表達式可以讓用戶通過使用一系列的特殊字符構建匹配模式,然後把匹配模式與數據文件、程序輸入以及WEB頁面的表單輸入等目標對象進行比較,根據比較對象中是否包含匹配模式,執行相應的程序。
  • 使用JavaScript對正則表達式進行解析
    到目前為止,我們的正則表達式非常簡單,只是字符串上的完全匹配,並且對JavaScript非常有效,但是即使正則表達式相同,我們對於其他語言所獲得的結果也會有所不同。這是因為每種程式語言都可以在其正則表達式中定義某些默認值或特殊行為,這些默認值或特殊行為可能會彼此不同。
  • 正則表達式 – 匹配規則
    正則表達式 - 匹配規則基本模式匹配一切從最基本的開始。模式,是正規表達式最基本的元素,它們是一組描述字符串特徵的字符。模式可以很簡單,由普通的字符串組成,也可以非常複雜,往往用特殊的字符表示一個範圍內的字符、重複出現,或表示上下文。
  • Python「正則表達式」詳解(上)
    OK,還有其他方法嗎,有小夥伴受上面代碼啟發,寫了個列表生成式。也挺簡單是不,似乎這些地方用不著正則表達式,那我現在給出下面一個字符串,要求把字符串中所有的數字都提取出來,比如字符串'ab23fd5g67',我們需要提取出23、5、67,注意不能把數字分開哈!該怎麼辦,小夥伴們好好想想,再想用上面的方法實現就比較困難了吧!下面就該正則表達式出場了。
  • 正則表達式在VBA中間是如何應用?正則表達式的實現方式?
    在繼續學習正則元字符特性或編制自己的正則表達式時,常常需要對其測試.也可以自己編制VBA代碼進行測試,這樣做的好處是可以提高在今後實際工作應用正則表達式的能力。所以,先介紹正則與VBA的交互的相關知識,讓你在VBA中間使用正則表達式遊刃有餘。當然你也可以快速閱讀或直接越過本章內容,在你以後的實際具體工作應用時,直接查閱即可。
  • 【第160期】指尖上的正則表達式–入門篇
    (摘自《百度百科--正則表達式》)2) 正則表達式的定義正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。給定一個正則表達式和另一個字符串,我們可以達到如下的目的:1.
  • Python:正則表達式基本符號總結
    字符串是我們在編程的時候很常用的一種數據類型,檢查會在字符串裡面查找一些內容,對於比較簡單的查找,字符串裡面就有一些內置的方法可以處理,對於比較複雜的字符串查找,或者是有一些內容經常變化的字符串裡面查找,那麼字符串內置的查找方法已經不好使了,滿足不了我們的要求,這個時候就得用正則表達式了,正則表達式就是用來匹配一些比較複雜的字符串。
  • 如何徹底搞懂面向 Web 開發者的正則表達式?
    對於正則表達式,開發者如何跳出雲裡霧裡的謎團?作者 | Chris Achard譯者 | 彎月,責編 | 郭芮以下為譯文:正則表達式能在字符串中查找匹配特定模式的子字符串。在JavaScript中,可以通過斜線 / / 來創建,也可以通過new RegExp()來創建,然後就能使用match、test、replace等方法。你可以事先定義正則表達式,也可以在調用方法時隨時定義。每次匹配一個字符,將多個字符放到方括號 [] 中可以匹配多個匹配的字符。用橫線 - 匹配字符範圍。
  • 給JAVA程式設計師的正則表達式一課
    正則基礎正則表達式(Regex,簡稱RE)是一種根據字符串集中的每個字符串的共同特徵來描述字符串集的方法。可用於搜索,編輯或處理文本和數據。簡單來說,正則表達式是幫助我們根據特定格式驗證或匹配字符串的方式。可以類比資料庫的SQL語言,sql是搜索數據,RE是搜索字符串。正則表達式和SQL語言是開發界的兩個偉大發明。
  • JavaScript正則表達式「程式設計師培養之路第十二天」
    第一節 基本概念正則表達式(regular expression)描述了一種字符串匹配的模式,他是一個特殊的公式,由原子、元字符、模式修正符組成;它也是一個字符串!只不過是一個特殊的字符串主要實現對字符串的匹配、分割、查找、替換等操作 正則表達式的主要作用: 正則匹配: 可以測試字符串內容是否可以與正則相匹配 替換文本: 根據模式匹配字符串中的特定內容,進行替換、刪除 提取數據: 根據模式匹配從字符串中提取內容,生成數組
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入「正則表達式模塊」。
  • linux - grep常用正則表達式,過濾文本內容
    正則表達式正則表達式就是一套處理大量的字符串而定義的規則和方法。通過正則表達式這些特殊字符號,可以快速的過濾、替換需要的內容。基礎正則表達式(Basic regular expression)1) ^ :例如 ^word 以word開頭的內容2)$ :例如 word$ 以word結尾的內容3)^$ :空行4).
  • Python(2):正則表達式的常見符號與作用,每個都有示例
    承接上篇文章,本文將羅列出Python中正則表達式常用的符號,也叫做元字符,正是憑藉元字符正則表達式方才展現出強大的檢索功能和受人青睞的靈活性。常見的正則表達式特殊符號為了便於讀者保存,這裡把符號以表格圖片的形式總結給大家,並就常見的正則表達式給出簡單的示例供大家參考、學習。點號(.)-匹配除換行符\n外的任意單個字符示例:a.o—匹配字母a和o且二者中間為任意單字符的字符串,如axo,a!
  • Python程式語言:如何運用正則表達式
    這篇文章,小編要和大家分享的知識是Python語言的正則表達式,以及自己學到的使用方法!學會正則表達式可以幫助我們抓取網絡信息,正則表達式又叫Re庫!這裡我們要了解什麼是正則表達式,正則表達式是用來簡潔表達一組字符串的表達式!
  • Python正則表達式由淺入深(一)
    雖然Python處理字符串的方法很多,而且流行的pandas庫也提供了大量的向量化字符串方法,但是一旦涉及要經過較為複雜的數據匹配才能進行的字符操作,這些方法就顯得非常的乏力。尤其是由於文本數據來源於爬蟲等渠道,數據往往嚴重不規整,這時候文本處理起來就顯得尤為吃力。幸運的是Python提供了re模塊,可以實現正則表達式的操作。