怎么使用正则把由特定前缀字符串和特定后缀字符串以及包含的内容一起提取出来?

weixin_38051598 2019-07-31 02:56:07
有两个字符串参数,分别为前缀和后缀,用于正则提取,匹配由输入的前后缀字符串包含的内容以及前后缀字符串,被前后缀包含的内容里面可能有特殊符号,换行符等,不考虑嵌套的可能。

例如上述图片,匹配由前缀字符串 #{{ 和后缀字符串}}#包含的里面的所有内容,包括#{{和}}#,里面的内容可能存在换行,特殊符号等。
提出后的内容模板是#{{里面的内容}}# 。
我用了[#{{]{3}(.*?)[}}#]{3} 这个正则表达式,但是有换行符\n或存在换行的字符串就不能匹配

...全文
385 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38066403 2019-07-31
  • 打赏
  • 举报
回复
Hi Trian555,
你可以用下面的代码去获得你想要的字符串。
string pattern = @"#{{[\s\S]*?}}#"; string s = "111#{{test1\ntest1}}#1111"; foreach (Match match in Regex.Matches(s, pattern)) { Console.WriteLine(match.Value); }
Result:

weixin_38056873 2019-07-31
  • 打赏
  • 举报
回复
Hi Trian555,
你可以用下面的代码去获得你想要的字符串。
string pattern = @"#{{[\s\S]*?}}#"; string s = "111#{{test1\ntest1}}#1111"; foreach (Match match in Regex.Matches(s, pattern)) { Console.WriteLine(match.Value); }
Result:

weixin_38063619 2019-07-31
  • 打赏
  • 举报
回复
如果是HTML的话
用HtmlAgilityPack更快一些
使用方式也很简答

Nuget地址
https://www.nuget.org/packages/HtmlAgilityPack/


参考博客
https://www.cnblogs.com/GmrBrian/p/6201237.html

如果非要正则,你能将字符串打上来吗?
给个图片完全没有心情去一个一个打字

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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