正則的回溯引用

2021-09-24 08:06:31 字數 667 閱讀 6871

q:將下面html片段中正確的標題標籤()及其包含的內容匹配出來

我是h1h1>

我是divdiv>

我是h2h2>

我是spanspan>

我是h3h3>

我是錯誤的h3h4>

我是h4h4>

複製**

上述這個問題的難點包括:

必須匹配每個不能將包含在兩個標題標籤內的標籤匹配到,如我是span

不能匹配格式不正確的標題標籤,如\1表示引用第1個子表示式,\2表示引用第2個子表示式,以此類推(通常,回溯引用從1開始匹配)。

由於子表示式是按照其在表示式中的相對位置來引用的,因此有個不好之處在於,一旦改變了子表示式的相對位置,很容易引起正則的回溯引用失效。

<[hh]([1-6])>.*?

複製**

其中\1指回溯引用第乙個子表示式,即引用([1-6])。且開閉標籤內採用懶惰性的匹配.*?,而不是貪婪式的.*

正規表示式之分組的回溯引用問題

正規表示式簡介 正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。許多程式語言都支援利用正規表示式進行字串操作。例如,在perl中就內建了乙個功能強大...

回溯法之迷宮 棧的引用

煙台大學 計算機學院 軟體工程 王朝 include define maxsize 100 define m 8 define n 8 int mg m 2 n 2 typedef struct box typedef struct sttype int mgpath int xi,int yi,i...

java正則反向引用

backreference 反向引用.與捕獲組匹配的輸入字串結果儲存在記憶體中,以便以後通過反向引用進行呼叫。用 數字,表示要引用的group 數字 普通捕獲組反向引用 k,通常簡寫為 number 命名捕獲組反向引用 k或者 k name 源表示式 1212 正規表示式 d d 1 匹配結果 12...