在JavaScript字符串的search()方法中,如何匹配正則表達式?

2021-01-12 一都編程

第一節:基本概念

#JavaScript#正則表達式已經成為各大程式語言的標準,只是在不同的語言中,所使用的方式有所不同,但基本上核心的功能都是一樣的。

正則表達式的核心功能是建立一種匹配模式,這個匹配模式可以理解為模板,模子。

然後再拿具體的字符串來與這個模式進行匹配,如果匹配上,則表示符合要求,則進一步採用措施。

第二節:正則表達式特點

正則表達式是由字符串組成的。正則表達式只是一種搜索模式或匹配模式。對於具體的字符串,需要經過正則表達式的計算後,形成一個值來判斷是否匹配上。正則表達式可簡單,可複雜,需要根據語法定義模式。在各個程式語言中,也會推出一些與正則表達式相關的輔助操作,如替找操作等。第三節:正則表達式語法

在JavaScript中,對於正則表達式的定義,使用字面量表示法的基本語法如下:

/模式/修飾符

基本語法說明如下:

使用兩個/來表示一個正則表達式匹配模式。第一個/後面跟匹配模式。例如:var patt = /Yido/i,Yido是一個簡單的匹配模式,用於字符串的搜索。第二個/後面跟修飾符標誌。這裡的修飾符標誌是i,表示不分區大小寫進行匹配。

第四節:search()方法的使用

4.1. 基本含義

search()方法是字符串對象的方法,可與正則表達式對接,用於將當前字符串在正則表達式中搜索並匹配。

Search()方法返回的類型是一個整數值:

返回第一次匹配到的字符串的開始索引值,索引值是從0開始的。如果字符串沒有在正則表達式中匹配到,則返回-1。4.2. 參數是正則表達式

當我們使用JavaScript定義一個字符串後,在字符串對象上可以使用search()方法,並且可以將正則表達式做為參數傳入到該方法中。

Search()方法的使用正則表達式的代碼如下:

<script type="text/javascript">//正則表達式var patt = /Yido/i;//字符串var str1 = "Hello Yido Online Edu.";//返回查找的索引位置var index = str1.search(patt);document.write(index);</script>

在此代碼中,/Yido/i是一個簡單的正則表達式,表示在字符串中搜索是否存在Yido,i表示不區分大小寫,如果匹配到了,則返回相應的索引值,如果沒有匹配到,則返回-1。

在Visual Studio 2019中的完整代碼如下:

圖1

現在運行一下圖1的代碼,看是否能匹配上Yido,返回的整數是多少:

圖2

從運行的結果上看,返回的結果是6,表示匹配到了,字符串匹配上的起始位置是6。

再來看一個例子,JavaScript代碼如下:

<script type="text/javascript">var x = /[0-9]/i;var s1 = "Hello World 8";var index = s1.search(x);document.write(index);</script>

在此JS代碼中,正則表達式中使用了[0-9],表示0到9之間的整數。可匹配0-9之間的整數。

在字符串s1中,有一個整數值8,現在這段代碼的含義是在s1字符串中匹配0-9之間的整數,正好8在0-9之間,所以是可以匹配上的。運行結果如下:

圖3

在字符串的索引值為12的位置匹配成功了。

4.3. 參數是字符串

對於search方法,還可以使用字符串作為參數。實際上是將字符串參數轉換成了一個兼容的正則表達式。

JavaScript代碼如下:

<script type="text/javascript">//正則表達式var patt = "Yido";//字符串var str1 = "Hello Yido Online Edu.";//返回查找的索引位置var index = str1.search(patt);document.write(index);</script>

在此JS代碼中,將定義正則表達式的兩個/去掉了,變成了一個普通的字符串,但是運行出來的結果,還是6,表示匹配成功了,這說明還是將patt字符串轉換為了正則表達式來匹配。

相關焦點

  • 在JavaScript中,使用replace()、test()和exec()方法匹配字符串
    01第一節:replace()方法概述在#JavaScript#中,replace()方法可以在字符串中使用一個或多個字符替換為另外一個或多個字符,也可以替換為一個與正則表達式能夠匹配上的子字符串。JavaScript正則表達式注意:使用replace()方法只能將字符串中第一個被匹配到的字符串替換掉。
  • 正則表達式A - 方法及特殊字符用法
    .正則表達式的用法 正則表達式概念: 正則表達式是由普通字符及特殊字符組成的對字符串進行過濾的邏輯公式 正則表達式的創建方式: 1.字面量方式創建 (隱式創建): var reg = /正則表達式/gi;
  • 正則表達式:如何匹配一個或多個字符?
    不過,絕大多數正則表達的式實現也支持不區分字母大小寫的匹配操作。比如說,JavaSeript用戶可以用1標誌來強制執行一次不區分字母大小寫的搜索。匹配任意字符前面見到的正則表達式都是靜態純文本,它們根本體現不出正則表達式的威力。下面我們一起來看看如何使用正則表達式去匹配不可預知的字符。在正則表達式裡,特殊字符(或字符集合)用來給出要搜索的東西。字符.
  • 使用JavaScript對正則表達式進行解析
    (1)用模式驗證字符串;(2)在字符串中搜索;(3)替換字符串中的子字符串;(4)從字符串中提取信息;2、使用正則表達式對於本文,我們將介紹如何在JavaScript中使用正則表達式,儘管此處學習的概念也適用於其他語言。話雖如此,在其他語言中,它們對待正則表達式的方式可能有所不同。讓我們看一個示例,該示例將驗證字符串是否包含單詞Hello。
  • JavaScript字符串 - 查找方法
    字符串查找的方法子字符串代表的就是要查找的字符串1.indexOf();格式:字符串.indexOf( 子字符串串,開始查找的位置 );返回值:如果在字符串中查找到了子字符串第一次出現的位置,返回子字符串出現的位置,否則沒有查找到返回 -
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入「正則表達式模塊」。
  • python正則表達式使用方法說明
    二、使用正則表達式步驟1、尋找規律;2、使用正則符號表示規律;3、提取信息,如果每一個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。三、正則表達式中常見的基本符號1.點號「.」一個點號可以代替除了換行符(\n)以外的任何一個字符,包括但不限於英文字母、數字、漢字、英文標點符號和中文標點符號。
  • Python正則表達式由淺入深(一)
    幸運的是Python提供了re模塊,可以實現正則表達式的操作。re模塊主要通過六大方法來對字符串進行處理,包括:match()、search()、findall()、split()、sub()。這些方法涉及到字符串的匹配與替換等操作,在接下來的4篇連載文章裡,我們不單只會講解這4種方法,還會把元字符、行定位符、限定符、字符類、排除字符、選擇字符、轉義字符、分組等正則表達式最常用知識點貫穿起來。
  • Python:正則表達式基本符號總結
    字符串是我們在編程的時候很常用的一種數據類型,檢查會在字符串裡面查找一些內容,對於比較簡單的查找,字符串裡面就有一些內置的方法可以處理,對於比較複雜的字符串查找,或者是有一些內容經常變化的字符串裡面查找,那麼字符串內置的查找方法已經不好使了,滿足不了我們的要求,這個時候就得用正則表達式了,正則表達式就是用來匹配一些比較複雜的字符串。
  • Python正則表達式由淺入深(二)
    在前兩篇連載文章中,我們學習了re模塊的match()、search()、findall()方法,以及學習了使用正則表達式中常用的元字符、限定符、選擇字符、中括號來搭配這些方法來靈活處理常見的數據匹配問題。這本篇文章分鐘,我們將會進一步學習正則表達式中其他符合,包括令初學者非常頭疼的分組問題。
  • 正則表達式 – 匹配規則
    正則表達式 - 匹配規則基本模式匹配一切從最基本的開始。模式,是正規表達式最基本的元素,它們是一組描述字符串特徵的字符。模式可以很簡單,由普通的字符串組成,也可以非常複雜,往往用特殊的字符表示一個範圍內的字符、重複出現,或表示上下文。
  • Python 正則表達式-函數用法分析
    不管是檢索還是替換,都需要匹配規則,我們根據需要編寫了匹配規則,但我們寫的匹配規則計算機並不會直接用來匹配,計算機會把我們寫的匹配規則轉換成它的規則,這個過程我們叫做編譯(compile),這個編譯過程我們看不見,但比較耗時,為了提高效率,就將編譯過後的正則表達式放到緩存中,內存可能會影響其他程序,當我們需要優化佔用內存的時可以清除緩存(purge)。
  • Python正則表達式:特殊符號和字符
    正表達式為高級的文本模式匹配,抽取,與/或文本形式的搜索和替換功能提供了基礎。簡而言之,正則表達式(簡稱regex)是由一些字符和特殊符號組成的字符串,它描述了模式的重複或者表達多個字符。python通過標準庫中的re模塊來支持正則表達式。
  • Python「正則表達式」詳解(上)
    可以通過正則表達式,從字符串中獲取我們想要的特定部分。大家可以簡單的理解為兩點:search和match。OK,了解了正則表達式的概念和作用,我們趕緊進入Python的學習吧!正則表達式不是Python獨有的武器,但Python中的正則表達式無疑是最簡單卻又最強大的。在Python中使用正則表達式,需要導入re模塊,如下圖所示。
  • JavaScript正則表達式「程式設計師培養之路第十二天」
    第一節 基本概念正則表達式(regular expression)描述了一種字符串匹配的模式,他是一個特殊的公式,由原子、元字符、模式修正符組成;它也是一個字符串!只不過是一個特殊的字符串主要實現對字符串的匹配、分割、查找、替換等操作 正則表達式的主要作用: 正則匹配: 可以測試字符串內容是否可以與正則相匹配 替換文本: 根據模式匹配字符串中的特定內容,進行替換、刪除 提取數據: 根據模式匹配從字符串中提取內容,生成數組
  • 【第160期】指尖上的正則表達式–入門篇
    (摘自《百度百科--正則表達式》)2) 正則表達式的定義正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。給定一個正則表達式和另一個字符串,我們可以達到如下的目的:1.
  • 正則表達式在VBA中間是如何應用?正則表達式的實現方式?
    2.目標文本字符串賦值代碼段,目標文本,可能存在於文本文檔、Word文檔、HTML文檔或Excel文檔等文檔之中。正則對象並不能直接作用於這些文檔,只能作用於它們的副本。所以用VBA正則處理這些文檔,必須首先從這些文檔中讀出字符串並賦值於字符變量。如果任務是修改文本,那麼,你可能需要編寫額外的代碼將修改後的文本字符串重新寫回原文檔中.
  • Python(2):正則表達式的常見符號與作用,每個都有示例
    承接上篇文章,本文將羅列出Python中正則表達式常用的符號,也叫做元字符,正是憑藉元字符正則表達式方才展現出強大的檢索功能和受人青睞的靈活性。常見的正則表達式特殊符號為了便於讀者保存,這裡把符號以表格圖片的形式總結給大家,並就常見的正則表達式給出簡單的示例供大家參考、學習。點號(.)-匹配除換行符\n外的任意單個字符示例:a.o—匹配字母a和o且二者中間為任意單字符的字符串,如axo,a!
  • 學習Python正則表達式
    然而,讓李丹煩惱的是,評論是以自由文本的形式展現,電話號碼就在這些評論中。如何不需要一個接一個地複製和粘貼,就可以輕鬆地找到這些電話號碼?Python中的正則表達式(re)就可以解決這個問題!正則表達式正則表達式是一個具有特殊字符的序列。它有助於檢查字符串中的每個字符,看它是否與某個模式匹配:哪些字符在什麼位置出現了多少次。
  • PHP正則表達式的快速學習方法
    除了元字符之外,用戶還可以精確指定模式在匹配對象中出現的頻率。例如,/jim{2,6}/上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。在對如何使用正則表達式有了初步了解之後,我們來看一下其它幾個重要的元字符的使用方式。