正規表示式匹配HTML標籤之間的內容

時間 2021-08-11 15:55:29

1樓:大野瘦子

假如html標籤裡面有一句:

string a = "";

我如何把這一句取出來呢,包括標籤。

用正規表示式:

正規表示式匹配html標籤

方法一:

var str = '123

';var pattern = /<\/?[a-za-z]+(\s+[a-za-z]+=".*")*>/g;

console.log(str.match(pattern));

方法二:

var str = '123

';var pattern = /<[^>]+>/g;

console.log(str.match(pattern));

方法三:

var str = '" name="username" />';

var pattern = /<(?:[^"'>]|"[^"]*"|'[^']*')*>/g;

console.log(str.match(pattern));

說明:()表示捕獲分組,()會把每個分組裡的匹配的值儲存起來,使用$n(n是一個數字,表示第n個捕獲組的內容)

(?:)表示非捕獲分組,和捕獲分組唯一的區別在於,非捕獲分組匹配的值不會儲存起來

沒有引用的需求的話,採用非捕獲性分組,更為簡潔;

方法四:

var str = '" name="username" />';

var pattern = /<(?:[^"'>]|(["'])[^"']*\1)*>/g;

console.log(str.match(pattern));

2樓:匿名使用者

\<([a-za-z]) +class='view-field view-data-node-title'\> *\<([a-za-z]) +.*\>(.*)\\

試試, group3就是結果.

定位時把class 考慮進去了, 因為不知道你的業務具體什麼樣.  如果你的標籤連 class 這個屬性都沒有的話, 把 那個 去掉.

3樓:

(?<=>)[^<>]+(?=<)

正規表示式 提取 html 標籤的內容 20

4樓:匿名使用者

/<.*?>(.+)<\/.*?>/

不過只針對同級標籤,巢狀不適用

5樓:匿名使用者

string str = file.readalltext("d:\\1.txt", encoding.default);

str = regex.match(str, @"(?is)(?<=>)[^<>]+(?=<)").value;

console.writeline(str);

6樓:扒拉看電影

$html = '內容1

內容2內容3

';preg_match("/<.+?>(.+?)<.+?>/", $html, $content);

echo $content[1];

//以上是php中的做法

50分求 正規表示式 匹配html當中段落標籤之間的內容

7樓:沒有任何藉口

(.*?)

進行正規表示式測試。

8樓:匿名使用者

|([^^]*?)

| 你那個問題裡不是回答了麼?不能用?

正規表示式如何匹配出最短字串,正規表示式如何匹配除某些字串以外的所有字元

當正規表示式中包含能接受重複的限定符時,通常的行為是 在使整個表示式能得到匹配的前提下 匹配儘可能多的字元。考慮這個表示式 a.b,它將會匹配最長的以a開始,以b結束的字串。如果用它來搜尋aabab的話,它會匹配整個字串aabab。這被稱為貪婪匹配。有時,我們更需要懶惰匹配,也就是匹配儘可能少的字元...

正規表示式匹配什麼,正規表示式中的 ?或 是什麼意思

使用 其中 是轉義字元,因為 是正則表示式中的特殊符號,所以需要使用 進行轉義。特殊字元 1 匹配前面的子表示式一次或多次。要匹配 字元,使用 2 將下一個字元標記為或特殊字元 或原義字元 或向後引用 或八進位制轉義符。例如,n 匹配字元 n n 匹配換行符。序列 匹配 而 則匹配 3 指明兩項之間...

正規表示式匹配,怎麼匹配value的值

var sv 不曉得你是啥意思,所以我寫了幾種方法,供你選擇 方法1 如果value的值包含字母數字以外的字元將返回false,var e value w i alert e.test sv 方法2 value的值必須等於m9px9e4zlvwrx1vxiqezru2d17lstrpr var e1...