regex 删除不包含在正则表达式中的所有内容

biswetbf  于 2023-08-08  发布在  其他
关注(0)|答案(2)|浏览(103)

我有以下列表:

"tag": "test",
"id": "test-demo",
"name": "paid",
"domain_url": "http://example.com",
"in_range": [{
"range": "example.com",
"range_type": "website"
"range": "example.com",
"range_type": "website"
"range": "example.com",
"srange_type": "website"
"range": "example.com",
"range_type": "website"

字符串
我想使用NOTEPAD++来过滤除包含“domain_url”和“range”之外的所有行。我创建了以下正则表达式:

"domain_url.*".*"|"range.*".*"


如何删除除正则表达式包含的内容以外的所有内容?因此,列表的输出将是这样的:

"domain_url": "http://example.com",
"range": "example.com",
"range": "example.com",
"range": "example.com",
"range": "example.com",

amrnrhlw

amrnrhlw1#

你可以用

^"(?!(?:domain_url|range)").*\R?

字符串

  • ^字符串开头
  • "匹配双引号
  • (?!(?:domain_url|range)")Assert不是 domain_url”range”
  • .*\R?匹配整行和可选的换行符

请参见regex demo


的数据

ssm49v7z

ssm49v7z2#

“标记”行,然后使用“书签”子菜单提供了方法来做到这一点。
首先:标记包含RegEx的所有行。使用菜单=>搜索=>标记打开查找替换对话框的“标记”选项卡,在“查找内容”中输入"domain_url"|"range",确保“书签行”和“正则表达式”被选中。(此RegEx匹配描述,而不是引用的Regex。双引号(")和句号(.)似乎不匹配。)点击“全部标记”后,希望在所有需要的行的左侧看到蓝色斑点。
现在有两条路是有用的。了解这两种情况可以为未来的需求提供更多选择。
或者:使用menu =>搜索=>书签=>删除非书签行
或者:使用menu =>搜索=>书签=>反转书签然后使用menu =>搜索=>书签=>删除书签行

相关问题