在Notepad ++中,我使用表达式(?<=").*(?=")查找引号之间的所有字符串.能够仅保留这些结果似乎相当微不足道.但是,我找不到一个简单的解决方案.
我认为问题是Notepad ++无法进行多项选择.但必须有某种解决方法,对吧?也许我必须反转正则表达式,然后找到/替换这些结果以最终得到我想要的字符串.
例如:
blablabla "Important" blabla
blabla "Again important" blablabla
Run Code Online (Sandbox Code Playgroud)
我想保留:
Important
Again important
Run Code Online (Sandbox Code Playgroud)
没有很好的解决方案,根据您的使用情况,我建议编写一个实际使用您的第一个表达式的快速脚本,并创建一个包含所有匹配项的新文件(或类似的东西).但是,如果你只想要快速和肮脏的东西,这个表达式应该让你开始:
[^"]*(?:"([^"]*)")?
\1\n
Run Code Online (Sandbox Code Playgroud)
说明:
[^"]* # 0+ non-" characters
(?: # Start non-capturing group
" # " literally
( # Start capturing group
[^"]* # 0+ non-" characters
) # End capturing group
" # " literally
)? # End non-capturing group AND make it optional
Run Code Online (Sandbox Code Playgroud)
使用可选的非捕获组的原因是因为文件的末尾很可能没有引号中的字符串,所以这不是必要的匹配(我们对[^"]*我们要删除的第一个更感兴趣) .