search / replace包含'x'且不包含'y'

时间:2016-08-22 15:58:55

标签: sublimetext3 atom-editor

有没有人知道一种方法(正则表达式搜索或插件或任何其他mac工具)我可以搜索我想要替换的字符串但仅当另一个字符串不在同一行时。

这是Html代码,我想搜索包含字符串<button的项目中的所有文件,并将其更改为<button type="button",只要它不包含字符串type在同一条线上?

目前使用sublime和atom但无法弄清楚如何使用。

1 个答案:

答案 0 :(得分:3)

这可以通过正则表达式搜索来完成,并使用negative lookahead替换Sublime。选择 Find → Replace… ,然后在Find What:框中输入

(<button)(?!.*?type)

并在Replace With:框中输入

<button type="button"

确保在最左侧的最左侧选择了正则表达式按钮。

Here是一个演示版。基本上,第一组(由括号( )描绘)找到标记的开头部分 - 足够简单。第二组(?!.*?type)是一个否定前瞻?!,它会搜索重复零次或多次的任何字符.,然后不情愿地回复*?,后跟单词type 。仅当第二组不匹配时,第一组才匹配。