正则中的 \n 不能 lazy, 难道是BUG吗? 高手请进! 正则式:a(.|\n)*?c匹配内容:ababdabc结果:ababdabclazy方式,为什么没有匹配abc?也就是说这里的\n并没有lazy, 难道是正则的BUG吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这样不用lazy, 匹配的是什么?abdabc我为什么要lazy, 是想 \n 最少化, 最好是0次匹配. ababdabcabcabcabc匹配成ababdabc叫lazy如果你相匹配abc 得用反相查找:(?<...)或者用: a[^a]*c仅是个人理解而已,说错别怪 先用:a.*?c匹配,在单行中查找. 如果找不到,再用:a(.|\n)*?c在多行中查找.不用(.|\n),也可以用SingleLine选项.这是我想要的效果, 不能用一个正则式表示吗? 你如果用正则:a[^a]*c "ababdbcabc"可以先匹配到两个abcbc abc 的数组(绝对不会匹配到ababdbc)然后你再从数组中选出你想要的结果,当然是选择象你说的无"/n"的优先.然后"/n"最少的.这样不就行了? C#求指导 c#winfrom 简单问题 窗口由隐藏至显示触发什么事件? 哪种加密算法算出来的结果是发散式的? C# 两个进程间传递消息出现乱码,如何解决 C# 无法调用C#写的com,为什么啊???? 简单问题,al是一个ArrayList类型的动态数组,其中存放了一些Double类型的数据,比如说有10个吧,我想更改其中的一些数据,al[3]="abc" C#如何将第三方的插件封装到类中啊? tabControl标签问题 关于.NET Remoting 技术的问题 怎么样把一个字符串分割成单个字符数组? 请救一个关于GRID的问题
a
b
d
abc我为什么要lazy, 是想 \n 最少化, 最好是0次匹配.
a
b
d
abc
abc
abc
abc
匹配成
ab
a
b
d
abc叫lazy如果你相匹配abc 得用反相查找:(?<...)
或者用: a[^a]*c仅是个人理解而已,说错别怪
a.*?c
匹配,在单行中查找. 如果找不到,再用:
a(.|\n)*?c
在多行中查找.不用(.|\n),也可以用SingleLine选项.这是我想要的效果, 不能用一个正则式表示吗?
你如果用正则:a[^a]*c
"ababdbcabc"
可以先匹配到两个abcbc abc 的数组(绝对不会匹配到ababdbc)然后你再从数组中选出你想要的结果,当然是选择象你说的无"/n"的优先.然后"/n"最少的.这样不就行了?