目錄
正则的方法-text
字符串方法-match
字符串的方法-search
字符串方法-replace
子项 - ()
子项重定向
首頁 後端開發 php教程 正規知識點

正規知識點

Dec 08, 2017 pm 03:12 PM
正規則 知識點

正则表达式,又称规则表达式,计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。

正则的两种写法:

第一种(标准写法):
new RegExp(规则,修饰符);

第二种(简写):
/规则/

  • d:一个数字

  • D:一个非数字

  • w:一个数字、字母、下划线

  • W:一个非数字、字母、下划线

  • n:换行

  • s:空格

  • S:非空格

  • b:边界符

  • .:任意字符除了n

  • []:在中括号里任意选择一个字符。

  • [^]:排除

  • {}:量词范围

  • {0,1}/?:最小可以没有最大1个

  • {0,}/*:最小没有,最大无限

  • {1,}/+:最小1个,最大无限

  • {n}:固定的次数

  • 修饰符:i ->  忽略大小写。

  • 转义符:\

正则的方法-text

test:检测是否正则匹配的内容,如果正则成立那么返回一个布尔值。

  • 正则.test(string);

    var str = 'RegExp';
    var re = new RegExp('p','i');
    console.log(re.test(str));
登入後複製
登入後複製

字符串方法-match

match:将匹配到的字符放到一个数组中。

string.match(正则);

当匹配到的字符只有一个的时候,会显示出多个属性

index: 匹配字符的位置

input: 所有内容

而length为1

  • match如果找不到返回null

    var str = 'das37213dsa321hjkh321321';
    console.log(str.match(/\d+/g))
登入後複製
登入後複製

search:找到(可以指定也可以正则匹配)匹配的字符位置。

sting.search(字符串||正则);

    var str = 'aacabca523c';
    console.log(str.search(/\d/));
登入後複製
登入後複製
  • search如果找不到返回-1

字符串方法-replace

replace:replace

string.replace(要替换谁||可以用正则,替换成什么||函数);

返回值为替换好的字符串。

注意:
如果使用函数,那么一定要有retrun,不然为undefind

一般情况下

函数内的第一个参数是当前匹配的字符。

函数内的第二个参数是当前匹配的索引值。

函数内的第三个参数是当前总的字符串。

函数内的第四个以后参数都为undefined。

    var str = '中国共产党,习近平总书记说:“法轮功是邪教!”';
    str.replace(/中国共产党|习近平|法轮功|邪教/g,function($0,$1,$2,$3,$4){
        console.log($0,$1,$2,$3,$4);
    });
登入後複製
登入後複製

子项 - ()

从左往右数

如果正则中有子项

从函数的第一个参数之后就是匹配到的子项值,
当参数的个数等于子项个数+1的时候,之后都为正常模式下的参数了(比如:索引,整个字符,undefined..)

    var str = '2017/2/17';
    var str = str.replace(/(\d+)\D+(\d+)\D+(\d+)/,function($0,$1,$2,$3){
        //console.log($1,$2,$3);
        return $1 + '年' + $2 + '月' + $3 + '日';
    });
    
    console.log(str);
登入後複製
登入後複製

子项重定向

    var str = 'ssssssssaaaaaabbbbbb';
    str.replace(/(\w)\1+/g,function($0,$1){
        console.log($1);
    });
登入後複製
登入後複製

                                               


正则的两种写法:

第一种(标准写法):
new RegExp(规则,修饰符);

第二种(简写):
/规则/

  • d:一个数字

  • D:一个非数字

  • w:一个数字、字母、下划线

  • W:一个非数字、字母、下划线

  • n:换行

  • s:空格

  • S:非空格

  • b:边界符

  • .:任意字符除了n

  • []:在中括号里任意选择一个字符。

  • [^]:排除

  • {}:量词范围

  • {0,1}/?:最小可以没有最大1个

  • {0,}/*:最小没有,最大无限

  • {1,}/+:最小1个,最大无限

  • {n}:固定的次数

  • 修饰符:i ->  忽略大小写。

  • 转义符:\

正则的方法-text

test:检测是否正则匹配的内容,如果正则成立那么返回一个布尔值。

  • 正则.test(string);

    var str = 'RegExp';
    var re = new RegExp('p','i');
    console.log(re.test(str));
登入後複製
登入後複製

字符串方法-match

match:将匹配到的字符放到一个数组中。

string.match(正则);

当匹配到的字符只有一个的时候,会显示出多个属性

index: 匹配字符的位置

input: 所有内容

而length为1

  • match如果找不到返回null

    var str = 'das37213dsa321hjkh321321';
    console.log(str.match(/\d+/g))
登入後複製
登入後複製

search:找到(可以指定也可以正则匹配)匹配的字符位置。

sting.search(字符串||正则);

    var str = 'aacabca523c';
    console.log(str.search(/\d/));
登入後複製
登入後複製
  • search如果找不到返回-1

字符串方法-replace

replace:replace

string.replace(要替换谁||可以用正则,替换成什么||函数);

返回值为替换好的字符串。

注意:
如果使用函数,那么一定要有retrun,不然为undefind

一般情况下

函数内的第一个参数是当前匹配的字符。

函数内的第二个参数是当前匹配的索引值。

函数内的第三个参数是当前总的字符串。

函数内的第四个以后参数都为undefined。

    var str = '中国共产党,习近平总书记说:“法轮功是邪教!”';
    str.replace(/中国共产党|习近平|法轮功|邪教/g,function($0,$1,$2,$3,$4){
        console.log($0,$1,$2,$3,$4);
    });
登入後複製
登入後複製

子项 - ()

从左往右数

如果正则中有子项

从函数的第一个参数之后就是匹配到的子项值,
当参数的个数等于子项个数+1的时候,之后都为正常模式下的参数了(比如:索引,整个字符,undefined..)

    var str = '2017/2/17';
    var str = str.replace(/(\d+)\D+(\d+)\D+(\d+)/,function($0,$1,$2,$3){
        //console.log($1,$2,$3);
        return $1 + '年' + $2 + '月' + $3 + '日';
    });
    
    console.log(str);
登入後複製
登入後複製

子项重定向

    var str = 'ssssssssaaaaaabbbbbb';
    str.replace(/(\w)\1+/g,function($0,$1){
        console.log($1);
    });
登入後複製
登入後複製

相关推荐:

最全的前端常用正则表达式汇总

正则表达式的的实现步骤

php正则表达式入门详解

以上是正規知識點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Python速查表大全,你掌握了哪些知識點? Python速查表大全,你掌握了哪些知識點? Apr 26, 2023 pm 10:49 PM

Python作為當下最大眾化的程式語言,相信每天都會有大量的新手朋友進入學習大軍的行列。但無論語言是多麼的容易學習,其基本概念、基礎知識還是比較多的,對於小白來說,一時間要掌握這麼多還是有些吃力。今天精選收集了眾多Python相關的知識速查表,可以說是包羅萬象,以後媽媽再也不用擔心大家記不住任何知識點了! Python基礎Pythonbasics這個速查表包含了所有的Python基本知識,從變數資料型別到列表字串,從環境安裝到常用函式庫的使用,可以說面面俱到。 Beginner'sPytho

如何用 Golang 正規匹配多個單字或字串? 如何用 Golang 正規匹配多個單字或字串? May 31, 2024 am 10:32 AM

Golang正規表示式使用管道符|來匹配多個單字或字串,將各個選項作為邏輯OR表達式分隔開來。例如:匹配"fox"或"dog":fox|dog匹配"quick"、"brown"或"lazy":(quick|brown|lazy)匹配"Go"、"Python"或"Java":Go|Python |Java匹配字或4位郵遞區號:([a-zA

如何用php正規取代以什麼開頭的字串 如何用php正規取代以什麼開頭的字串 Mar 24, 2023 pm 02:57 PM

PHP正規表示式是一種針對文字處理和轉換的強大工具。它可以透過解析文字內容,並依照特定的模式進行替換或截取,達到有效管理文字資訊的目的。其中,正規表示式的一個常見應用是替換以特定字元開頭的字串,對此,我們進行如下的講解

揭秘HTML快取機制:不可或缺的知識要點 揭秘HTML快取機制:不可或缺的知識要點 Jan 23, 2024 am 08:51 AM

HTML快取機制大揭密:必備的知識點,需要具體程式碼範例在Web開發中,效能一直是重要的考量。而HTML快取機制是提升Web頁面效能的關鍵之一。本文將揭秘HTML快取機制的原理與實務技巧,並提供具體的程式碼範例。一、HTML快取機制的原理Web頁面存取過程中,瀏覽器透過HTTP協定請求伺服器取得HTML頁面。 HTML快取機制就是將HTML頁面快取在瀏覽器

php 如何用正規去除中文 php 如何用正規去除中文 Mar 03, 2023 am 10:12 AM

php用正規去除中文的方法:1、建立一個php範例檔;2、定義一個含有中文和英文的字串;3、透過「preg_replace('/([\x80-\xff]*)/i', '',$a);」正規方法去除查詢結果中的中文字元即可。

php怎麼利用正規匹配去掉html標籤 php怎麼利用正規匹配去掉html標籤 Mar 21, 2023 pm 05:17 PM

在本文中,我們將學習如何使用PHP正規表示式刪除HTML標籤,並從HTML字串中提取純文字內容。為了示範如何去除HTML標記,讓我們先定義一個包含HTML標籤的字串。

如何使用PHP正規表示式驗證URL是否為HTTPS協議 如何使用PHP正規表示式驗證URL是否為HTTPS協議 Jun 24, 2023 am 08:16 AM

網站安全性越來越受到關注,使用HTTPS協議保證資料傳輸的安全性已成為目前網站開發的重要內容。在PHP開發中,如何使用正規表示式驗證URL是否為HTTPS協定呢?下面我們就來了解一下。正規表示式正規表示式是一種用來描述規律的表達式,是處理文字的強大工具,被廣泛應用於文字匹配、搜尋和替換等方面。在PHP開發中,我們可以透過正規表示式來匹配URL中的http

使用PHP正規實現中文取代功能的技巧分享 使用PHP正規實現中文取代功能的技巧分享 Mar 24, 2024 pm 05:57 PM

使用PHP正規實現中文替換功能的技巧分享在web開發中,經常會遇到需要對中文內容進行替換的情況。 PHP作為一種流行的伺服器端腳本語言,提供了強大的正規表示式功能,可以輕鬆實現中文替換。本文將分享一些在PHP中使用正規實現中文替換的技巧,同時提供具體的程式碼範例。 1.使用preg_replace函數實作中文替換PHP中的preg_replace函數可以用來

See all articles