Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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和exlude与“exlude”匹配;这";一串_Regex - Fatal编程技术网

Regex和exlude与“exlude”匹配;这";一串

Regex和exlude与“exlude”匹配;这";一串,regex,Regex,我正在尝试生成一个似乎不正确的正则表达式字符串 我想匹配包含-AS-和-CO的任何行,同时排除-DC- CCO-AS-02-CO EKY-2F-AS-02-CO LKS-AS-06-CO LKS-AS-DC-07 LKS-AS-52-CR ATX-A2-DC-AS-08-CO BAL-0F-AS-06-CO BAL-2F-AS-03-CO CNC-1F-AS-05-CO 我不熟悉如何执行,但知道this适用于包含的块:(.*AS.*CO) 帮忙 您可以使用lookahead。请参阅演示 如果A

我正在尝试生成一个似乎不正确的正则表达式字符串

我想匹配包含
-AS-
-CO
的任何行,同时排除
-DC-

CCO-AS-02-CO
EKY-2F-AS-02-CO
LKS-AS-06-CO
LKS-AS-DC-07
LKS-AS-52-CR
ATX-A2-DC-AS-08-CO
BAL-0F-AS-06-CO
BAL-2F-AS-03-CO
CNC-1F-AS-05-CO
我不熟悉如何执行,但知道this适用于包含的块:
(.*AS.*CO)

帮忙

您可以使用
lookahead
。请参阅演示


如果
AS
CO
可能出现故障,这可能会检测到它们的存在

^(?!.*-DC(?=-|$))(?=.*-AS(?=-|$))(?=.*-CO(?=-|$)).+$

您可以使用lookaheads来完成此操作:

^(?=.*-AS-)(?=.*-CO)(?!.*-DC-).*$

                              ^^ a line with:
                       ^^^ do not have -DC- in the line
               ^^^ do have -CO
   ^^^ do have -AS-
^ Anchor, start of line


这三个术语可以按任意顺序排列

您使用什么编程语言或文本编辑器来执行正则表达式?不同的正则表达式实现有不同的功能。Perl,抱歉,应该包括以下内容:)
^(?=.*-AS-)(?=.*-CO)(?!.*-DC-).*$

                              ^^ a line with:
                       ^^^ do not have -DC- in the line
               ^^^ do have -CO
   ^^^ do have -AS-
^ Anchor, start of line