正則的反向引用
所謂反向引用其實就是 \1、\2 ... ... 這些,他的作用相當於引用“一組規則”;那麼什麼叫一組規則呢?舉個例子:
/([a-z]\d)-\d(123)\1/
這裡有兩組小括號(),每一組小括號就是所謂的一組;因此這個正則中的\1指的便是
([a-z]\d)
因此這個正則看似等價於(實際不等價,下面提說到)
/([a-z]\d)-\d(123)([a-z]\d)/
同理\2 \3 也是如此。
接下來說說反向引用有這麼實際用途,還是舉個例子:
從一個string中提取連續重複的單詞
let str = 'i i am a coder, i like like coding and my my friend like sports !' console.log(str.match(/([a-z]+)\s+\1/g)) // ["i i", "like like", "my my"]
沒錯是不是發現問題了:當([a-z]+)匹配了內容後,後面的\1 要匹配的是與第一組規則匹配到的內容一樣的內容。
ok,廢話多了,歡迎指正。
相關推薦
正則——反向引用
change font 引用 class pan regex 實現 內容 regexp 反向引用:捕獲組捕獲到的內容,不僅可以在正則表達式外部通過程序進行引用,也可以在正則表達式內部進行引用,這種引用方式就是反向引用 //反向引用 var str=‘#1234‘;
關於javascript正則“反向引用”
前言:一直忙著找實習單位,足足有一個半月沒有寫過部落格,也沒有學習過,終於找到一個勉強合適的,還是趕緊加油吧,別被別人甩太遠了!(話說這天好冷啊)。 本來是在看著阿樹部落格裡的jQuery規範的,不知道怎麼搞得,稀裡糊塗的就看到正則去了,把學到的東西總結一下: 首先先看下
正則 捕獲組之反向引用
orien gem strip https 3.3 引用 文本 相同 ges 之前寫正則的時候,經常用到 (.*?) 之類的用法.一般在替換的時候會用 $1 來引用括號裏面匹配到的內容 比如, 1.1.1.1 aaaa 2.2.2.2 bbbb 3.3.2.3 ccca 我
[C/C++]_[初級]_[正則表示式的反向引用]
場景 1.正則表示式查詢特定規則的字串十分高效率, 有一些規則的字串, 如果不用正則, 單是列舉+邏輯記錄匹配的程式碼量就非常大. 2.比如查詢一個小寫字串裡連續相同的字母, 之後把它替換為 Xn(大寫字母和重複字母個數)的方式進行加密. 正好正則表示式有專門的反向引用來解決查詢
正則表示式——捕獲組和反向引用
正則表示式的捕獲組和反向引用: 使用小括號指定一個子表示式後,匹配這個子表示式的文字(也就是此分組捕獲的內容)可以在表示式或其他程式中作進一步處理。預設情況下,每個分組會自動擁有一個組號,規則是:從左向右,以分組的左括號為標誌,第一個出現的分組的組號為1,第二
14.JS-正則表示式的反向引用
選擇字元:| com|cn|edu --- 選擇其中一個(含有其中一個就能匹配成功) 子表示式:用()包圍的就是子表示式 str = "((/d)(/w))" 第一個子表示式:((\d)(
js正則表示式的分組和反向引用
javascript的正則反引用是通過RegExp.$1,RegExp.$2反向引用的。 例子: var reg = /(/w+)~(/w+)/; var textt="dddd~123"; if(reg.test(textt)){ console.log(Reg
正則的反向引用
所謂反向引用其實就是 \1、\2 ... ... 這些,他的作用相當於引用“一組規則”;那麼什麼叫一組規則呢?舉個例子:/([a-z]\d)-\d(123)\1/這裡有兩組小括號(),每一組小括號就是所謂的一組;因此這個正則中的\1指的便是([a-z]\d)因此這個正則看似等
正則表示式:反向引用
正則表示式的最重要功能之一是儲存匹配的模式的一部分以供以後重新使用的能力。您可能想起,若在正則表示式模式或模式的一部分兩側加上括號,就會導致表示式的一部分被儲存到臨時緩衝區中。可以通過使用非捕獲元字元 ?:、?= 或 ?! 來重寫捕獲。 每個捕獲的子匹配項按照它們在正則表示式模式中從左到右出現的
JavaScript正則表示式(基礎、分組、懶惰匹配、反向引用和零寬斷言)
進階 懶惰匹配 分組 反向引用 零寬斷言 練習 基礎 常用字元總結: ^ 匹配行的開始位置 $ 匹配行的結束位置 \b 匹配單詞的開始或結束位置 . 匹配除換行符之外的任意字元 \w 匹配單詞字元(包括字母、數字、
backreference Oracle正則表示式中的反向引用
這是Oracle對正則表示式的backreference的描述 從定義中可以看到,當匹配表示式中已()的形式將一個子串包含起來,後面就可以以\?的形式來引用。\1對應第一個(),\2對應第二個... 反向引用的引入使得正則表示式的匹配功能變得更加強大,介紹兩個在ora
[正則表達式]PCRE反向分組引用(語法)
一個 正則 () 規則 引用 aaa 沒有 ron 運用 正則表達式中,凡出現圓括號(),括號中的匹配內容就會被認為是一個分組; 根據括號從左邊出現的順序命名分組代號,分組代號由1到n(代號0通常被一些語言用來引用整個表達式匹配的結果,即使這個表達式沒有分組括號,但是表達
Perl正則表達式引用
perl正則 lag 轉換成 mit word 不同版本 passenger 賦值 擴展 正則表達式兩篇: 基礎正則 Perl正則 本文是對Perl正則的一點擴展,主要內容是使用qr//創建正則對象,以及一些其它的技巧。 qr//創建正則對象 因為可以在正則模式中使用
正則表示式詳解(貪婪與懶惰、前瞻與後顧、後向引用等)
之前嫌正則麻煩,一直沒有深入去了解過正則,能不用的地方就不使用。 最近專案中遇到了不可避免的正則使用,所以花了點時間去了解並整理了一下,理解不一定完全準確,如有不對歡迎指出,希望對大家有所幫助。 一、名詞解釋 首先我們瞭解幾個名詞:元字元 、 普通字元、列印字元、非列印字元、 限定符 、定位符、非列
根據正則表示式反向生成對應的字串現有工具(包)總結
為什麼會調研這塊知識點?在做測試的時候,資料的自動生成,做自動mock都會用到按規則自動生成資料,所以了~~ 其中有部分是前輩們總結的直接拿來了,多種語言的,但我本身關注更多的是java、python和go,其他語言備用 總結如下: python Exrex, Pyt
nginx反向代理和rewrite進行解決跨域問題 去掉url中的一部分字串,通過nginx正則生成新的url
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
DNN前向、反向傳播及正則化
1.損失函式和啟用函式的選擇 1.1 均方差損失函式+sigmoid啟用函式 s i
jmeter正則表示式提取 引用
jmeter正則表示式token提取 例: 新增正則 配置 token正則表示式:"token":"(.+?)" 模板:$1$ 新增資訊頭管理器進行配置 需要token得地方輸入 ${token} 就可以了 如果獲取 返
正則-後向引用
題目:匹配開頭和結尾的字母相同的單詞。 <?php $str = "text theissj this mom boom heeh"; $patt = '/\b([a-z])\w+\1\b/'; //括號表示一個子表示式,\1表示重複第一個子表示式,有時可用$1代替
正則表示式(十八)——向前引用
package com.wy.regular; import java.util.regex.Matcher; import java.util.regex.Pattern; public clas