为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式匹配之间的所有内容

正则表达式匹配之间的所有内容

Go
萧十郎 2021-12-07 18:53:32
我已经尝试了一个小时,但我不是正则专家。我想做的事情看起来很简单,但结果却比我想象的要困难得多。基本上我有这个:<<< Some code    def prnt(string)        print(string)    end=====    def println(string)        puts(string)    end*****<<< Some more code...我想要做的是捕获第一行<<< Some code和*****. 一个文件中会有很多这样的块。到目前为止,我拥有的正则表达式是 this (?:<<< .*\r?\n)([\s\S]+)(?:[*]{5}),但它并没有真正起作用。有任何想法吗?我使用它的语言是 Go。
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

没关系我想通了!

(?:<<< .*\r?\n)([\s\S]*?)(?:[*]{5})

看起来最重要的是让中间的匹配组变得懒惰,以便尽可能少地匹配。


查看完整回答
反对 回复 2021-12-07
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

这将捕获组 1 中的目标,但您必须使用“点匹配换行符”开关“s”:

<<<[^\r\n]+[\r\n]*(.*?)[*]{5}

现场演示


查看完整回答
反对 回复 2021-12-07
  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信