当前位置:编程学习 > C#/ASP.NET >>

求一个正则表达式的写法

我写了一个代码高亮

例如下面这段代码里
<pre>
.....高亮.....
</pre>

如何用正则去匹配,这段代码里的\r\n不被替换,不是这个标记里的\r\n可以被替换 --------------------编程问答--------------------
 string str = @"
<pre>


.....高亮.....

</pre>

<x>
M
</x>
";
                str = Regex.Replace(str,@"(?<!<pre>)\r\n(?!</pre>)","替换内容");
--------------------编程问答-------------------- 似乎不行,因为在pre中有写\r\n是跟在其他后面的

比如

<pre>
function int Method()\r\n
{\r\n
      .........\r\n
      ..........\r\n
}\r\n
.................
</pre>

结果里面全被替换了 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 这个难度好大看来 --------------------编程问答--------------------
引用 4 楼 playermaker 的回复:
这个难度好大看来


换种思路不行吗?

aaaaaabaaaaaaaa=>  将b拿出来,将a替换,将b放回去
假定整个页面内容为content

1.匹配pre 标签内容
2.替换拿出后的content里面还有\r\n的东西
3.将pre标签放回去 --------------------编程问答-------------------- 是不是C#正则表达式不一样啊??

<(\S*?) [^>]*>.*?</\1>|<.*? />这段代码 我放在正则测试工具上能匹配出来
但在C#中就匹配不出来了,怎么回事 --------------------编程问答-------------------- 修改为
<(\S*?)[^>]*>[\s\S]*?</\1>|<.*? />

.是不匹配换行符号的 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,