如何在记事本++中复制标记的文本
我有一个HTML源文件的一部分,它包含我想使用Notepad ++的正则expression式function一次select和复制的string。
这里是文本源的一部分:
<option value="Performance" >Performance</option> <option value="Maintenance" >Maintenance</option> <option value="System Stability" >System Stability</option>
我使用正则expression式"[0-9a-zA-Z ]*"
search“值”值。 我也select记事本++search中的function突出显示/标记find的文本。 这工作正常,我现在想复制或剪切只有突出显示的文本剪贴板进一步处理。 但是我无法在Notepad ++中find这个function。 这是根本不可能的还是我太愚蠢?
试试这个:
首先,修复行结束问题:(Notepad ++不允许多行正则expression式)
search[扩展模式]: \r\n>
(或者你自己的系统行结尾)
replace: >
然后
search[正则expression式模式]: <option[^>]+value="([^"]+)"[^>]*>.*
(如果你想要所有的value
而不仅仅是选项,简单的删除领先的option
)
replace: \1
第二个正则expression式的解释:
<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.
是的,它正在用正则expression式parsingHTML – 这些警告适用 – 仔细检查输出。
自从记事本++ 5.9以来,他们添加了一项function“删除未标记的行”,可用于删除您不想要的所有内容,并replace每个值行上的其他文本。
- 使用“search” – >“查找” – >“标记”function标记要保留/复制的每一行,并记住在标记文本之前勾选“书签行”
- selectsearch – >书签 – >删除未标记的行
- 使用search – >查找 – >replace来replace您不想保留/复制的其他文本
- 保存剩余的文本或复制它。
您也可以使用search – >书签 – >复制书签行来做类似的事情
所以在技术上,你仍然不能复制标记的文本,但是你可以用标记的文本标记行,然后对加书签或未标记的行执行各种操作。
为了完整起见,我将这篇文章添加到Googlesearch结果中。
你实际上可以从正则expression式search中复制所有内容,而不是一步到位。
- 在search下使用标记并在查找内容中input正则expression式。
- select书签行,然后单击全部标记。
- 点击search – >书签 – >复制书签行。
- 粘贴到一个新的文件。
- 您可能需要删除不属于正则expression式的search和replace行中的一些不需要的文本。
在Notepad ++中这将是一个很棒的function。 我使用以下技术从文件中提取所有匹配:
powershell select-string -Path input.txt -Pattern "[0-9a-zA-Z ]*" -AllMatches | % { $_.Matches } | select-object Value > output.txt
如果你只想要一个sorting列表中的不同匹配项:
powershell select-string -Path input.txt -Pattern "[0-9a-zA-Z ]" -AllMatches | % { $_.Matches } | select-object Value -unique | sort-object Value > output.txt
不,从Notepad ++ 5.6.2开始,这似乎不可能。 尽pipe列select(Alt +select)是可能的,但显然没有实现多个select,因此也不被searchfunction支持。
我有同样的问题。 你可以在新选项卡中列出正则expression式匹配,PSPad编辑器中的新行中的每个匹配与Notepad ++非常相似。
按Ctrl + Fsearch,检查正则expression式opion,把正则expression式,并单击列表。
这是记事本不可能的,但是这是简单的解决scheme :
您将需要免费的Expresso v3.1 http://www.ultrapico.com/ExpressoDownload.htm
我使用了另一个自由软件:Expresso by Ultrapico。
- 一旦安装进入标签“testing模式”。
- 将您的REGEX复制到“正则expression式”窗格中。
-
将要search的整个文本粘贴到Expresso的“示例文本”面板中,
-
按下“运行匹配”button。 右键单击“search结果窗格”和“导出到…”或“将匹配的文本复制到剪贴板”。
注意:原始作者是@Andreas Jansson,但它被隐藏在评论中,所以由于这个页面在Googlesearch中排名很高,所以我把它留给别人。