Ale*_*lex 55 regex search notepad++
我有一部分HTML源文件包含我想要使用Notepad ++的正则表达式功能一次选择和复制的字符串.
以下是文本来源的一部分:
<option value="Performance"
>Performance</option>
<option value="Maintenance"
>Maintenance</option>
<option value="System Stability"
>System Stability</option>
Run Code Online (Sandbox Code Playgroud)
我正在使用正则表达式"[0-9a-zA-Z ]*"来搜索"值"值.我还在Notepad ++搜索中选择了该功能,以突出显示/标记找到的文本.这工作正常我现在想要将突出显示的文本复制或剪切到剪贴板以进行进一步处理.但我无法在Notepad ++中找到此功能.这根本不可能还是我太笨了?
小智 97
从Notepad ++ 5.9开始,他们为"删除未标记的行"添加了一个功能,可用于删除您不想要的所有内容以及一些搜索并替换每个值行上的其他文本.
您也可以使用搜索 - >书签 - >复制书签行来执行类似的操作
因此从技术上讲,您仍然无法复制标记文本,但您可以使用标记文本为行添加书签,然后对带书签或无标记的行执行各种操作.
小智 22
我添加此内容是为了完整性,因为此帖子在Google搜索结果中排名很高.
您实际上可以从正则表达式搜索中复制所有内容,而不是一步到位.
Sea*_*ira 19
试试这个:
首先,修复行结束问题:( Notepad ++不允许多行正则表达式)
搜索[扩展模式] :( \r\n>或您自己系统的行结尾)
更换: >
然后
搜索[正则表达式模式]: <option[^>]+value="([^"]+)"[^>]*>.*
(如果你想要所有出现value而不仅仅是选项,简单删除前导option)
更换: \1
第二个正则表达式的解释:
<option[^>]+ Find a < followed by "option" followed by
at least one character which is not a >
value=" Find the string value="
([^"]+) Find one or more characters which are not a " and save them
to group \1
"[^>]*>.* Find a " followed by zero or more non-'>' characters
followed by a > followed by zero or more characters.
Run Code Online (Sandbox Code Playgroud)
是的,它使用正则表达式解析HTML - 这些警告适用 - 仔细检查输出.
Che*_*tan 12
我希望你试图提取:
"性能"
"维护"
"系统稳定性"
这是方法 - 步骤1/3:打开搜索 - >查找 - >替换选项卡,选择正则表达式单选按钮.输入查找内容:(\"[a-zA-Z0-9\s] + \")并在替换为:\n\1中单击并替换全部按钮.

第2/3步:第一步后,您的关键字将在下一行中.(如下图所示).现在转到Mark选项卡并在Find what:Field中输入相同的正则表达式.在书签线上放置复选标记.然后单击全部标记.

And*_*son 12
“复制标记文本”现在是 Notepad++ \xe2\x80\x93 中的内置函数 图解答案
\n我安装的 Notepad++ 版本已经有几年了,而且我关闭了自动更新。将Notepad++更新到最新版本(8.1.1)后,我发现现在确实支持复制标记文本的功能了!
\n我冒昧地将其作为自己的答案,尽管上面有评论试图解释同样的事情。这样我就可以用一张图来说明:
\n\n获得相同结果的更长方法是“标记全部”,然后转到菜单“搜索”。然后选择“复制样式文本/查找样式(已标记)”。
\n在Notepad ++中有一个很棒的功能.我使用以下技术从文件中提取所有匹配项:
powershell
select-string -Path input.txt -Pattern "[0-9a-zA-Z ]*" -AllMatches | % { $_.Matches } | select-object Value > output.txt
Run Code Online (Sandbox Code Playgroud)
如果您只想要排序列表中的不同匹配项:
powershell
select-string -Path input.txt -Pattern "[0-9a-zA-Z ]" -AllMatches | % { $_.Matches } | select-object Value -unique | sort-object Value > output.txt
Run Code Online (Sandbox Code Playgroud)