注册 登录
编程论坛 C# 论坛

正则表达式 分组内容 引用无效???

hui999 发布于 2014-09-12 13:29, 680 次点击
需要匹配的字符串:
<p style="MARGIN: 0cm 0cm 0pt">
    <span style="FONT-SIZE: 24px"><span style="width:100px">???</span></span>
</p>

采用的正则表达式:
1:<[^>]*? [^>]*?style=(")[^\1]*?(?=width)[^\1]*?\1[^>]*?>
结果:
<p style="MARGIN: 0cm 0cm 0pt">
    <span style="FONT-SIZE: 24px"><span style="width:100px">

2:<[^>]*? [^>]*?style=(")[^"]*?(?=width)[^\1]*?\1[^>]*?>
结果:
<span style="width:100px">

1分组好像没有起到作用
很奇怪,请各位高手指点
5 回复
#2
hui9992014-09-15 14:14
自己顶起来!!!
#3
wp2319572014-09-15 14:19
这个和c#有关系???
#4
hui9992014-09-15 14:48
再举个例子:
原字符串:
<p style="MARGIN: 0cm 0cm 0pt">
    <span style="FONT-SIZE: 24px"><span style="width:100px">???</span></span>
</p>
<p style='MARGIN: 0cm 0cm 0pt'>
    <span style='FONT-SIZE: 24px'><xxx style='height:120px;width:100px'>???</xxx></span>
</p>
需要匹配<span style="width:100px"> 和<xxx style='height:120px;width:100px'>

采用的正则表达式:
<[^>]*? [^>]*?style=(['"])[^\1]*?(?=width)width[^\1]*?\1[^>]*?>

结果:
<p style="MARGIN: 0cm 0cm 0pt">
    <span style="FONT-SIZE: 24px"><span style="width:100px">

<p style='MARGIN: 0cm 0cm 0pt'>
    <span style='FONT-SIZE: 24px'><xxx style='height:120px;width:100px'>

这个怎么弄?
其实也想搞清楚 原来例子中的\1为何不起作用!!
#5
hui9992014-09-15 14:51
c# 不也有regex吗?
#6
邓士林2014-09-17 08:08
这个东西没研究过,那天下了本教程打算看看,然后学习下你的,结果那天有事又没看上,
1