正则表达式从后向后进行从右到左的事件

问题描述

| 我正在提取以Windows LogonID结尾的事件...这意味着:   
Special Privileges assigned to a new Logon: Logon Id: 0x007d
我认为这是最好的方法:
^(?<event>.+)(?<=ID:\\s\\d+x[A-F\\d]+)$
使用RegexOptions.RightToLeft从字符串的结尾开始搜索。 因此,使用lookbehind如果{ID:LogonId}不存在,它将尽快失败。 由于找不到合适的“从右到左”测试仪,因此我在这里,寻求您的帮助。     

解决方法

你能找到比赛的位置吗?在Perl中,可以做到:
if ($str =~ /ID:\\s\\d+x[A-F\\d]+$/i)
   say substr($str,$-[0]);  # $-[0] is the starting pos of the match.
}
要么
if ($str =~ /ID:\\s\\d+x[A-F\\d]+$/ip)
   say ${^PREMATCH};
}
    ,我不明白为什么您需要RightToLeft选项或一个后备选项。您是否使用过这样的正则表达式进行了测试:
(?i)^(?<event>.+)ID:\\s\\d+x[A-F\\d]+$
...发现它太慢了?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...