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

关于正则表达式 多次匹配

^(<e>)\S+(</e>)$   匹配 <e>fdfdf</e>  <e>fdff</e>
我希望能匹配两个结果出来,,,而不是只出来一个;我希望的是
string[] strs = Regex.Split("<e>fdfdf</e>  <e>fdff</e>","^(<e>)\S+(</e>)$") 

这样strs的长度是2,,,但实际情况它只有1. --------------------编程问答-------------------- <e>[^<>]*</e> --------------------编程问答-------------------- 楼上说的  不对啊  --------------------编程问答-------------------- 解决了 把<e>\S+?</e>  的^和$取消就可以了 !!

但为什么这样就可以了,,加上也是指定以<e>开始,以</e>结束啊 --------------------编程问答-------------------- 请lz额外注意RegexOptions里面的Singleline和Multiline。^和$的含义与这两个设置有关的。肯定不是你理解的那样。 --------------------编程问答--------------------
引用 3 楼 pojia 的回复:
解决了 把 <e>\S+? </e>  的^和$取消就可以了 !! 

但为什么这样就可以了,,加上也是指定以 <e>开始,以 </e>结束啊

^ 匹配开始 $匹配结束
--------------------编程问答-------------------- ^ 与字符串开始的地方匹配,不匹配任何字符
$ 与字符串结束的地方匹配,不匹配任何字符


加上这两个Split的结果当然不对,但去掉这两个之后,匹配的结果strs的长度也不会是2 
楼主的需求适合用MatchCollection来做
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,