正则表达式 字符串匹配 , 高手!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:09:19
***文字文字***[img]C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/Blue hills.jpg[/img]***文字文字***[img]C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/Sunset.jpg[/img]***文字文字***

用正则表达式匹配后(匹配形式“[img]...[/img]”的字符串)应该可以匹配2个字符串,求此表达式?
我的Pattern是:string pattern = @"\[img\].+\[/img\]";

匹配结果是:[img]C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/Blue hills.jpg[/img]***文字文字***[img]C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/Sunset.jpg[/img]

就是把两个一起识别了,各位高手, 应该怎么写呢?

把你的.+换为下面的即可:
.+?

这是正则表达式的贪婪特性以及处理方法。

1、根据贪吃法,楼主的匹配模式是不能完成在同一行中出现两个或以上模式“[img]...[/img]”匹配单个模式的功能的。如果将同一行中的多个以上模式拆分为多行,楼主的匹配模式则是成功的。
2、针对楼主提供的字符串,可以使用模式
\[img\][^\[]+\[/img\]
来匹配。此匹配模式适合于在“[img]”和“[/img]”之间不包含字符“[”的情况。