【发布时间】:2016-08-22 15:58:55
【问题描述】:
有没有人知道一种方法(正则表达式搜索或插件或任何其他 mac 工具)我可以搜索我想要替换的字符串,但前提是另一个字符串不在同一行上。
这是 Html 代码,我想搜索项目中包含字符串 <button 的所有文件,并将其更改为 <button type="button",只要它不包含同一行上的字符串 type?
目前正在使用 sublime 和 atom 但不知道如何。
【问题讨论】:
有没有人知道一种方法(正则表达式搜索或插件或任何其他 mac 工具)我可以搜索我想要替换的字符串,但前提是另一个字符串不在同一行上。
这是 Html 代码,我想搜索项目中包含字符串 <button 的所有文件,并将其更改为 <button type="button",只要它不包含同一行上的字符串 type?
目前正在使用 sublime 和 atom 但不知道如何。
【问题讨论】:
这可以通过在 Sublime 中的正则表达式搜索和替换来完成,使用 negative lookahead。选择 Find → Replace… 并在 Find What: 框中输入
(<button)(?!.*?type)
然后在Replace With: 框中输入
<button type="button"
确保选择顶部最左侧的“正则表达式”按钮。
Here 是一个演示。基本上,第一组(由括号( ) 划定)找到标签的开头部分 - 很简单。第二组(?!.*?type) 是一个否定的前瞻?!,它搜索重复零次或多次的任何字符.,然后不情愿地返回*?,后跟单词type。只有当第二组不匹配时,第一组才会匹配。
【讨论】: