Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 具有特殊字符的多行上的正则表达式_Regex - Fatal编程技术网

Regex 具有特殊字符的多行上的正则表达式

Regex 具有特殊字符的多行上的正则表达式,regex,Regex,我希望有人能帮我学这个正则表达式。我只使用它来收集字符串中的单个单词,所以我不知道如何处理多行以及ASCII字符 以下是文本块: Information - RETAILEAITRT00003 - Traitement - Processing - ---> Recovery from 05/09/2012 at 09:17:50 AM Information - RETAILEAITRT00020 - Traitement

我希望有人能帮我学这个正则表达式。我只使用它来收集字符串中的单个单词,所以我不知道如何处理多行以及ASCII字符

以下是文本块:

Information       - RETAILEAITRT00003 - Traitement        - Processing        - --->  Recovery from 05/09/2012 at 09:17:50 AM 

Information       - RETAILEAITRT00020 - Traitement        - Processing        - --->  Information recovery starts on 05/09/2012 at 09:17:50 AM 

Information       - RETAILEAITRT00021 - Traitement        - Processing        - ---->  File processing: C:\Program Files (x86)\Prog\Prog RIT\Web Orders\live\Prog Import\Order_110039354.tab
Information       - RETAILEAITRT00005 - Traitement        - Processing        - --->  End of information recovery on 05/09/2012 at 09:17:51 AM 
Information       - RETAILEAITRT00006 - Traitement        - Processing        -    -> 6 records read 
Information       - RETAILEAITRT00008 - Traitement        - Processing        -    -> 6 records processed 
Information       - RETAILEAITRT00010 - Traitement        - Processing        -    -> 6 integrated records 
Information       - RETAILEAITRT00015 - Traitement        - Processing        -    ->  No integration errors 

Information       - RETAILEAITRT00020 - Traitement        - Processing        - --->  Information recovery starts on 05/09/2012 at 09:17:51 AM 

Information       - RETAILEAITRT00021 - Traitement        - Processing        - ---->  File processing: C:\Program Files (x86)\Prog\Prog RIT\Web Orders\live\Prog Import\Order_110039355.tab
Third-party       -  : La raison sociale doit �tre renseign�e 
Third-party       - _SHIP : La raison sociale doit �tre renseign�e 
Erreur            - RETAILEAIDOC00008 - Document          - Document          - address The internal reference enables the recovery of a document. It is mandatory 
Erreur            - RETAILEAIDOC00008 - Document          - Document          - address The internal reference enables the recovery of a document. It is mandatory 
Information       - RETAILEAITRT00005 - Traitement        - Processing        - --->  End of information recovery on 05/09/2012 at 09:17:52 AM 
Information       - RETAILEAITRT00006 - Traitement        - Processing        -    -> 4 records read 
Information       - RETAILEAITRT00008 - Traitement        - Processing        -    -> 4 records processed 
Information       - RETAILEAITRT00012 - Traitement        - Processing        -    ->  No records integrated 
Information       - RETAILEAITRT00013 - Traitement        - Processing        -    -> 4 records contain errors 

Information       - RETAILEAITRT00003 - Traitement        - Processing        - --->  Recovery from 05/09/2012 at 09:33:03 AM 

Information       - RETAILEAITRT00020 - Traitement        - Processing        - --->  Information recovery starts on 05/09/2012 at 09:33:03 AM 

Information       - RETAILEAITRT00021 - Traitement        - Processing        - ---->  File processing: C:\Program Files (x86)\Prog\Prog RIT\Web Orders\live\Prog Import\Order_110039356.tab
Information       - RETAILEAITRT00005 - Traitement        - Processing        - --->  End of information recovery on 05/09/2012 at 09:33:05 AM 
Information       - RETAILEAITRT00006 - Traitement        - Processing        -    -> 6 records read 
Information       - RETAILEAITRT00008 - Traitement        - Processing        -    -> 6 records processed 
Information       - RETAILEAITRT00010 - Traitement        - Processing        -    -> 6 integrated records 
Information       - RETAILEAITRT00015 - Traitement        - Processing        -    ->  No integration errors 

Information       - RETAILEAITRT00020 - Traitement        - Processing        - --->  Information recovery starts on 05/09/2012 at 09:33:05 AM 

Information       - RETAILEAITRT00021 - Traitement        - Processing        - ---->  File processing: C:\Program Files (x86)\Prog\Prog RIT\Web Orders\live\Prog Import\Order_110039357.tab
Information       - RETAILEAITRT00005 - Traitement        - Processing        - --->  End of information recovery on 05/09/2012 at 09:33:06 AM 
Information       - RETAILEAITRT00006 - Traitement        - Processing        -    -> 6 records read 
Information       - RETAILEAITRT00008 - Traitement        - Processing        -    -> 6 records processed 
Information       - RETAILEAITRT00010 - Traitement        - Processing        -    -> 6 integrated records 
Information       - RETAILEAITRT00015 - Traitement        - Processing        -    ->  No integration errors
但是,我只想要这一部分:

Information       - RETAILEAITRT00020 - Traitement        - Processing        - --->  Information recovery starts on 05/09/2012 at 09:17:51 AM 

Information       - RETAILEAITRT00021 - Traitement        - Processing        - ---->  File processing: C:\Program Files (x86)\Prog\Prog RIT\Web Orders\live\Prog Import\Order_110039355.tab
Third-party       -  : La raison sociale doit �tre renseign�e 
Third-party       - _SHIP : La raison sociale doit �tre renseign�e 
Erreur            - RETAILEAIDOC00008 - Document          - Document          - address The internal reference enables the recovery of a document. It is mandatory 
Erreur            - RETAILEAIDOC00008 - Document          - Document          - address The internal reference enables the recovery of a document. It is mandatory 
Information       - RETAILEAITRT00005 - Traitement        - Processing        - --->  End of information recovery on 05/09/2012 at 09:17:52 AM 
Information       - RETAILEAITRT00006 - Traitement        - Processing        -    -> 4 records read 
Information       - RETAILEAITRT00008 - Traitement        - Processing        -    -> 4 records processed 
Information       - RETAILEAITRT00012 - Traitement        - Processing        -    ->  No records integrated 
Information       - RETAILEAITRT00013 - Traitement        - Processing        -    -> 4 records contain errors 
那里也有一些特殊的字符,它们以奇怪的问号出现。我真的不知道从哪里开始真的。。我猜它必须寻找^Erreur,然后抓住上面和下面的线,直到找到带有空格的^


感谢

我能够使用以下正则表达式实现此功能:

Information.+recovery starts.+\n\n(?:.+\n)+(?:Erreur.+\n)+(?:.+\n)+
注意:这需要使用在JavaScript中测试成功的g全局标志。不确定您使用的是哪种语言,但它应该有一个等效的标志

是的,它非常丑陋:。以下是它的基本需求:

以信息开头的一行,包括单词recovery start 后面是空行 后跟至少一个通用行 后面至少有一行以Erreur开头 后跟任何连续的非空格行
你的比赛标准不是特别清楚。你说过上下搜索直到找到一条带空格的线,但在上面的例子中,它包括第一条只有空格的线上方的线。匹配的定义标准是什么?这是三个条目。。两个没有错误,然后一个中间有错误。每个条目总是以一行开头,表示信息恢复开始于。如果有错误,我希望返回整个块。太好了!你真的让我振作起来了。我没能让你的工作完全按照原来的样子进行。我自己做了一些研究和思考,得出了这样一个结论:信息。+恢复开始。+\n?:+\n{5}错误:。+\n?:。+\n?:。+\n{5}-更严格一点,但我会测试它,它应该会起作用。再次感谢!