這篇文章主要介紹了正規表示式學習教程之回溯引用backreference,結合實例形式詳細分析了回溯引用的概念、功能及實現技巧,需要的朋友可以參考下
本文實例講述了正規表示式回溯引用backreference。分享給大家供大家參考,具體如下:
在所有例子中正則表達式匹配結果包含在源文本中的【和】之間,有的例子會使用Java來實現,如果是java本身正規表示式的用法,會在對應的地方說明。所有java例子都在JDK1.6.0_13下測試通過。
一、問題引入
一個在HTML頁面中符合標題標籤(H1—H6)的問題:
文字:
<body> <h1>Welcome to my page</H1> Content is pided into twosections:<br> <h2>Introduction</h2> Information about me. <H2>Hobby</H2> Information about my hobby. <h2>This is invalid HTML</h3> </body>
正規表示式:<[hH][1-6]>.*?[hH][1-6]>
#結果:
#分析:模式<[hH][1 -6]>符合任何一級標題的開始標籤,而且不區分大小寫,在這個例子中它匹配到了、
、、;這裡使用了懶惰型元字符,[hH][1-6]>匹配到了
二、回溯引用符合
回溯引用是指模式的後半部引用在前半部中定義的子表達式。 至於子表達式的使用、分割和引用,在前面已經介紹過了。現在來解決前面的範例:
文字:<body> <h1>Welcome to my page</H1> Content is pided into twosections:<br> <h2>Introduction</h2> Information about me. <H2>Hobby</H2> Information about my hobby. <h2>This is invalid HTML</h3> </body>
<[hH]([1-6])>.*?[ hH]\1>
結果:
PS:這裡再提供大家2款非常方便的正規表示式工具供大家參考使用:
JavaScript
http://tools.jb51.net/regex/javascript
##正規則表達式線上產生工具:
以上是正規表示式之回溯引用backreference詳解_正規表示式的詳細內容。更多資訊請關注PHP中文網其他相關文章!