使用regexps替换由未知字符串分隔的已知字符串

使用regexps替换由未知字符串分隔的已知字符串,regex,Regex,如何使用regexp替换由未知字符串分隔的两个已知字符串 例如,我可能有 known_string_1 blah_随机文本blah known string 2 我知道我需要在refexp中的两个已知字符串之间使用某种通配符表达式,但是作为一个regexp nooblet,我不知道该使用什么。两个已知字符串中间的未知字符串可以是任意长度。 我用它来用新的东西替换一些旧的代码,但是已知的块用不同的制表符缩进的事实并没有帮助 非常感谢 James非常简单,*将匹配任意字符,任意次数 就你的情况来说,

如何使用regexp替换由未知字符串分隔的两个已知字符串

例如,我可能有

known_string_1 blah_随机文本blah known string 2

我知道我需要在refexp中的两个已知字符串之间使用某种通配符表达式,但是作为一个regexp nooblet,我不知道该使用什么。两个已知字符串中间的未知字符串可以是任意长度。

我用它来用新的东西替换一些旧的代码,但是已知的块用不同的制表符缩进的事实并没有帮助

非常感谢


James

非常简单,
*
将匹配任意字符,任意次数

就你的情况来说,正则表达式

known_string_1.*known_string_2

只要已知字符串中没有一个字符本身是元字符,例如
+
等,就可以工作。在这种情况下,它们需要使用
\
\
\+
等进行转义。

非常简单,
*
将匹配任意字符,任意次数

就你的情况来说,正则表达式

known_string_1.*known_string_2

只要已知字符串中的任何字符本身都不是元字符(如
+
等),就可以工作。在这种情况下,需要使用
\
\
对其进行转义,等等。

使用
*
作为两个已知字符串之间未知文本的模式将为您提供大部分方法。但是,如果您有一个类似于
known\u string\u 1 unknown\u text\u 1 known\u string\u 2 unknown\u text\u 2 known\u string\u 2

如果您只使用
*
,那么这将非常匹配,并且它将匹配字符串
未知\u文本\u 1已知\u字符串\u 2未知\u文本\u 2
。这是你想要的吗

如果这不是您想要的(即,您只想删除
未知\u文本\u 1
),那么您需要使用非贪婪修饰符:
*?


另外,我希望您的
known_text_1
known_text_2
字符串不是打开和关闭[X]HTML元素。每个人都知道。

使用
*
作为两个已知字符串之间未知文本的模式将为您提供大部分方法。但是,如果您有一个类似于
known\u string\u 1 unknown\u text\u 1 known\u string\u 2 unknown\u text\u 2 known\u string\u 2

如果您只使用
*
,那么这将非常匹配,并且它将匹配字符串
未知\u文本\u 1已知\u字符串\u 2未知\u文本\u 2
。这是你想要的吗

如果这不是您想要的(即,您只想删除
未知\u文本\u 1
),那么您需要使用非贪婪修饰符:
*?


另外,我希望您的
known_text_1
known_text_2
字符串不是打开和关闭[X]HTML元素。每个人都知道。

/nooblet,你试过什么?至少给它一次机会;这将有助于学习过程@布拉德,我真的应该先试试。谢谢你的建议-我承认在这里发帖有点懒:)/nooblet,你试过什么?至少给它一次机会;这将有助于学习过程@布拉德,我真的应该先试试。谢谢你的建议-我承认这里的帖子有点懒:)如果它们是元字符,我说它们需要用反斜杠转义是正确的吗?是的,用反斜杠转义应该适用于任何元字符(包括文字反斜杠本身)。如果它们是元字符,我说它们需要用反斜杠转义是对的吗?是的,用反斜杠转义应该适用于任何元字符(包括文字反斜杠本身)。我正在做的是用更新的内容替换某些文件中的旧HTML(用漂亮的div代码替换难看的表代码)。这个正则表达式只将与GUI正则表达式文本替换工具一起使用,而不是您认为我正在使用的脚本(作为旁白…)。至于贪婪,没关系——已知的字符串2只出现一次,但还是要感谢!我正在做的是用更新的东西替换一些文件中的旧HTML(用漂亮的div代码替换难看的表代码)。这个正则表达式只将与GUI正则表达式文本替换工具一起使用,而不是您认为我正在使用的脚本(作为旁白…)。至于贪婪,没关系——已知的字符串2只出现一次,但还是要感谢!