关于正则表达式求助

timiil 2004-01-27 11:26:33
我想在源字符串strSrc (多行的),
把 caption ????
替换成 Caption "????"
caption 须在行首; 就是???? 可以是任意单词或数字,就是想把这个单词用双引号扩住。我用了以下的代码:

strSrc = Regex.Replace(strSrc, "^caption ((\\w*\\s*)*)", "Caption \"$1\"" );

但结果是前边一个的双引号是正确的,但后边一个不对,好像是跨过了行到了后边了,请问高手们这情况应怎么解决呢,是不是因为我查找的正则表达式写的不对呢?
...全文
46 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bborn 2004-01-27
  • 打赏
  • 举报
回复
你说的原因可能是这样

正则表达式是贪婪匹配的 就是他会最大限度的匹配你的条件

应该是这个原因 你下面这个条件 我不知道在c#里能不能符合

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧