Regex 正则表达式删除两个特定单词之间的所有单词

Regex 正则表达式删除两个特定单词之间的所有单词,regex,Regex,我通常对正则表达式没问题,但我正在努力解决这个问题 我有一个简单的文件,其中包含两个单词,它们开始和结束一组数据。单词之间的数据会发生变化,但-start和status始终位于同一位置 例如: 开始 中间的一切 状态 我正在努力解决如何删除(替换)包括开始和状态之间的所有内容 我肯定我曾经用过这个 (?i)^start.+?状态 set(#replaceAll,$replace正则表达式(#textTest,“(?i)^start.+?status”,”),“Global”) 但是它不再工作了。

我通常对正则表达式没问题,但我正在努力解决这个问题

我有一个简单的文件,其中包含两个单词,它们开始和结束一组数据。单词之间的数据会发生变化,但-start和status始终位于同一位置

例如:

开始 中间的一切 状态

我正在努力解决如何删除(替换)包括开始和状态之间的所有内容

我肯定我曾经用过这个

(?i)^start.+?状态

set(#replaceAll,$replace正则表达式(#textTest,“(?i)^start.+?status”,”),“Global”)


但是它不再工作了。

您可以使用正则表达式

\bstart\b.+?\bstatus\b
它不要求
“status”
“start”
位于同一行。应设置两个标志:

  • 不区分大小写(
    /i
  • 单行模式,允许
    匹配换行符(
    /s

正则表达式的内容是,“将“start”前后匹配一个分词符(例如,避免匹配“start”或“jumpstart”),然后惰性地匹配一个或多个字符,然后将“status”与分词符匹配”。中间匹配必须是惰性的,以便正则表达式引擎将在“status”的下一个(而不是最后一个)实例停止


如果所使用的正则表达式引擎不支持单行模式或类似模式,可以将
+
替换为
[\s\s]+

所以我的原始表达有效,卡里的也有效

自上次使用表达式以来,文件已更改。它们以换行的形式包含一些空白,需要先删除这些空白

set(#cleanup,$replace(#text2,$new line," "),"Global")
set(#text2,$replace regular expression(#cleanup,"\\bstart\\b.*?\\bstatus\\b",""),"Global")
set(#cleanup,$replace regular expression(#cleanup,"(?i)^start.+?status:",""),"Global")

对此表示抱歉,但感谢所有观看和帮助的人:)

您希望它返回什么<代码>开始状态?如果是这样,只需将替换文本设置为“startstatus”即可。我不想返回任何内容-我正在尝试解决如何删除(替换)介于开始和状态之间的所有内容,包括开始和状态。您使用的语言/工具是什么?来自:“由于正则表达式不是完全标准化的,因此带有此标记的所有问题还应包括一个指定适用编程语言或工具的标记。”