Answers:
常规的Find and Replace是不可能的。如果使用Notepad ++ 6,则可以利用支持PCRE(source)的新正则表达式引擎。
按Ctrl+ H打开“ 查找和替换”对话框,然后执行以下操作:
Find what: \^.*?~
Replace with:
Wrap around: checked
Regular expression: selected
. matches newline: checked
现在按Alt+ A替换所有出现的情况。
查找内容中的正则表达式组成如下:
\^
是文字^。.*?
是允许正则表达式匹配的最少字符数。~
是文字〜。.*?
模式对我有用,可以在;
和的字符之间进行搜索<
。所以,搜索的是找到;.*?<
更换;
与选择的选项Regular expression
和. matches new line
您将要搜索\^.*?~
并确定。匹配换行符已启用:
这是因为^
具有特殊含义,它匹配行的开头。因此,我们需要使用反斜杠将其转义\^
。
写作^*
将匹配“连续多少行开始”。.*
匹配“任何字符”,但默认情况下不匹配换行符。
~
字符(或多个匹配项),则将第一个匹配^
到最后一个~
。
*?
说过,这不是贪婪,懒惰 .*?~
永远不会匹配一个以上~
。这样就可以了
我对开始和结束字符有类似的BETWEEN替换要求。这来自Outlook电子邮件;在成员的轰动之下,我只想删除与<
RemoveTextHere之间的所有内容有关的人名>
。
原版的
First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;
丹尼斯(Dennis)接近我的解决方案,Find what: \^.*?~
但是我必须改变我的文字字符,Find what: \<.*?>
然后我必须删除第一个斜线Find what: <.*?>
。
更新 Find what: <.*?>
; 更换为空。
First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4
_
特殊字符:*
,$
,\
,+
,^
,(
和)
,[
,]
,{
和}
特殊字符由Jerry Jeremiah在这里/programming/37742519/notepad-wildcard描述。