R 删除1)打开和关闭模式与2)如果没有关闭模式,则删除打开模式和结束之间的字符
使用两个R 删除1)打开和关闭模式与2)如果没有关闭模式,则删除打开模式和结束之间的字符,r,regex,R,Regex,使用两个gsub调用链找到问题的解决方案-出于好奇,我想知道是否有一个较短的正则表达式来实现我的目标。(使用来自的解决方案) 我想删除某个模式出现之间的所有字符,或者-如果没有“结束模式”,则删除“开始”模式和结束之间的所有字符 foostring[1]“第一次测试”“第二次测试不同的内容” #>[3]“第三次测试不一样”“第四次测试不一样” 您可以使用 gsub(“\\*{3}.*?(?:\\*{3}$)”,“”,foostring) 见 TRE正则表达式是指: \*{3}-三个星号 *?
gsub
调用链找到问题的解决方案-出于好奇,我想知道是否有一个较短的正则表达式来实现我的目标。(使用来自的解决方案)
我想删除某个模式出现之间的所有字符,或者-如果没有“结束模式”,则删除“开始”模式和结束之间的所有字符
foostring[1]“第一次测试”“第二次测试不同的内容”
#>[3]“第三次测试不一样”“第四次测试不一样”
您可以使用
gsub(“\\*{3}.*?(?:\\*{3}$)”,“”,foostring)
见
TRE正则表达式是指:
-三个星号\*{3}
-任何零个或多个字符尽可能少*?
-非捕获组匹配(?:\\*{3}}$)
-三个星号之一\*{3}
-或|
-字符串结束$
gsub(\*{3}.*?(?:\*{3}}$),“”,foostring)
?@WiktorStribiżew如果这是你写的,一定是对的:)我会查出来的。非常感谢你的建议