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