关于正则表达式 多次匹配
^(<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。^和$的含义与这两个设置有关的。肯定不是你理解的那样。 --------------------编程问答--------------------
^ 匹配开始 $匹配结束
--------------------编程问答-------------------- ^ 与字符串开始的地方匹配,不匹配任何字符
$ 与字符串结束的地方匹配,不匹配任何字符
加上这两个Split的结果当然不对,但去掉这两个之后,匹配的结果strs的长度也不会是2
楼主的需求适合用MatchCollection来做
补充:.NET技术 , C#