我有一长串的文本和html标签。我希望使用sed将字符串之间的字符替换为值' MYSTART ',直到起始字符串之后的# df.query("col1.str.startswith('m')")
# Out:
# col1 col2
# 1 many many
第一次出现。替换文字为 RESULTSAFTERSUBSTITITWORKS
我一直在用正则表达式摸索和摸索,并不断撞墙。我还尝试了一些正则表达式测试站点,但无论是否使用'-r',它们报告的成功对我来说都行不通。
</p>
我的示例字符串如下所示:
cat myfile | sed -r 's/MYSTART.*?<\/p>/RESULTAFTERSUBSTITUTIONWORKS/'
替换后,它看起来像这样:
THISSHOULDBEIGNORED_MYSTART<ac>blah</ac><another>lots of things 123 abc :</another></p><div><ac>another thing</another><p>welcome home to somewhere</p></div>the line keeps going and going</p><p>paragraph</p>
答案 0 :(得分:1)
使用任何将std::ios_base::sync_with_stdio(false)
识别为\n
的sed:
<newline>
如果您可以在起始字符串之前放置$ sed 's:</p>:\n:; s/MYSTART.*\n/RESULTAFTERSUBSTITUTIONWORKS/' file
THISSHOULDBEIGNORED_RESULTAFTERSUBSTITUTIONWORKS<div><ac>another thing</another><p>welcome home to somewhere</p></div>the line keeps going and going</p><p>paragraph</p>
,则更可能是这样(未经测试):
</p>