Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在记事本中++;如何查找与2“匹配的行:&引用;_Regex_Notepad++ - Fatal编程技术网

Regex 在记事本中++;如何查找与2“匹配的行:&引用;

Regex 在记事本中++;如何查找与2“匹配的行:&引用;,regex,notepad++,Regex,Notepad++,我想搜索/查找包含“@”的行,然后搜索两次: 举几个例子: www@xxx:yyy:zzz would match (it contains "@" then ":" then ":" again) sample:help:new would not match (no "@") fun@blue:turtle would not match (only 1 time ":") 非常感谢 如果要打印至少有一个@、两个:符号的行,可以尝试下面的正则表达式 ^.*@.*:.*:.*$ 如果要打印

我想搜索/查找包含“@”的行,然后搜索两次:

举几个例子:

www@xxx:yyy:zzz would match (it contains "@" then ":" then ":" again)
sample:help:new would not match (no "@")
fun@blue:turtle would not match (only 1 time ":")

非常感谢

如果要打印至少有一个
@
、两个
符号的行,可以尝试下面的正则表达式

^.*@.*:.*:.*$

如果要打印正好有一个
@
符号和两个或更多
符号的行,可以尝试以下方法

^[^@]*@[^@]*:[^@]*:[^@]*$

这也会起作用:

.*?@.*?:.*?:.*

在给定的示例中,

www@xxx:yyy:zzz would match 
sample:help:new would not match 
fun@blue:turtle would not match

匹配
www@xxx:yyy:zzz将单独匹配
,请使用以下内容

答案:
(@.*{1})((:.*{2})

说明:

((@.*{1})-->匹配单个@

((:.*{2})-->要匹配两个:


注意:使用记事本+++6.6.3测试上述正则表达式

您甚至不需要非贪婪性;即使是贪婪的量词也会优先查找匹配项,而不是匹配最大数量的字符。请尝试
^.*.*.*:.*$
。是否希望在@之后有任何数量的
?@AvinashRaj@仅在@之后有2个或更多“:”。谢谢大家,我还以为会有一个确切的2点后呢。您可以尝试
^..*.*:.*:.*$
@maxy该行中是否只需要一个
@
?@SilviuBurcea您可以在记事本++中执行正则表达式搜索(在
查找
窗口的左下角,有一个单选按钮,标题为“正则表达式”)。我似乎看不到它添加的版本,但至少据我所知,它已在最近几次发布中使用。@mattcupponion谢谢:D@maxy你在Windows中吗?@MattChampion它已经存在多年了。这一特征已经很古老了,但已经足够公平了。不幸的是,我只使用了Notepad++一小段时间,直到最近才发现regex特性(主要是因为缺乏必要性),所以我不想承诺说它已经存在了一段时间,除非我确定。谢谢你的信息!