如何用正则表达式获取两个字符串中间的内容

时间:2023-01-07 08:39:37
字符串示例

<div class="xxx" id="12345">
内容1
</div>
<div class="xxx" id="45678">
内容2
</div>

结果:

内容1
内容2

9 个解决方案

#1


不需要用正则,直接js获取。
var Content1 = document.getElementByid("12345").innerText;

#2


不是网页中用的。winform程序

#3


不需要用正则,直接js获取。
var Content1 = document.getElementByid("12345").innerText; 
var Content1 = document.getElementByid("45678").innerText; 

#4


两个id (123456,45678) 都是未知的。

#5


MatchCollection mc = Regex.Matches(yourStr,@"(?<=<div[^>]*>\s*)(?![\r\n])((?!</div>).)+");
foreach(Match m in mc)
{
    m.Value就是你要的
}

#6


yourStr=Regex.Replace(yourStr,"<[^>]*>","");

#7


引用 6 楼 q107770540 的回复:
yourStr=Regex.Replace(yourStr,"<[^>]*>","");


还混杂了其它html代码。所以这个方法不行。
试过五楼的方法,是可以。

#8


正则表示无力,纯帮顶

#9


顶逍遥兄

#1


不需要用正则,直接js获取。
var Content1 = document.getElementByid("12345").innerText;

#2


不是网页中用的。winform程序

#3


不需要用正则,直接js获取。
var Content1 = document.getElementByid("12345").innerText; 
var Content1 = document.getElementByid("45678").innerText; 

#4


两个id (123456,45678) 都是未知的。

#5


MatchCollection mc = Regex.Matches(yourStr,@"(?<=<div[^>]*>\s*)(?![\r\n])((?!</div>).)+");
foreach(Match m in mc)
{
    m.Value就是你要的
}

#6


yourStr=Regex.Replace(yourStr,"<[^>]*>","");

#7


引用 6 楼 q107770540 的回复:
yourStr=Regex.Replace(yourStr,"<[^>]*>","");


还混杂了其它html代码。所以这个方法不行。
试过五楼的方法,是可以。

#8


正则表示无力,纯帮顶

#9


顶逍遥兄