Regex PCRE在单词对齐时排除

Regex PCRE在单词对齐时排除,regex,pcre,Regex,Pcre,我有正则表达式(#+。\d*.\d)来捕捉像#1.0#-1.0#1.5。。。 但我想跳过比赛,如果在一行有FCMP字 匹配这条线 .text:00000000005A2F7C FMOV D1, #1.0 .text:00000000005A2F70 FCMP D0, #0.0 跳过这一行 .text:00000000005A2F7C FMOV

我有正则表达式
(#+。\d*.\d)
来捕捉像#1.0#-1.0#1.5。。。 但我想跳过比赛,如果在一行有FCMP字

匹配这条线

.text:00000000005A2F7C                 FMOV            D1, #1.0
.text:00000000005A2F70                 FCMP            D0, #0.0
跳过这一行

.text:00000000005A2F7C                 FMOV            D1, #1.0
.text:00000000005A2F70                 FCMP            D0, #0.0
我该怎么做呢?

您可以使用

.*\bFCMP\b.*(*SKIP)(*F)|#-?\d*\.\d+

详细信息

  • *\bFCMP\b.*(
    \bFCMP\b
    )(
    \bFCMP\b
    )-一行(注意,行的开头和结尾与两个
    *
    模式匹配),其中包含一个完整的单词
    \bFCMP\b
    ),该单词被匹配和跳过(使用
    (*SKIP)(*F)
  • -?\d*.\d+
    -匹配
    ,一个可选的
    -
    ,然后是0个或多个数字,一个点,然后是1个或多个数字

*\bFCMP\b.*(*F)|#-?\d*\.?\d+
?看到几乎完美!非常感谢。我忘了提到我需要用#0跳过行,比如。text:0000000000 5A2F8C MOV W18,#0以及如何添加额外的单词来跳过行?例如,FCMPE?我知道怎么做了。*\b(FCMP | FCMPE)\b.*(*F)|#-?\d*\。+?\d+感谢您的快速帮助!所以,点是一个需要的字符,我看,我张贴的答案,请考虑接受。