regex - 从右到左匹配正则表达式?

标签 regex

有没有办法从右到左匹配正则表达式?我正在寻找的是一个正则表达式

MODULE WAS INSERTED              EVENT
LOST SIGNAL ON E1/T1 LINK        OFF
CRC ERROR                        EVENT
CLK IS DIFF FROM MASTER CLK SRC  OF

从这个输入
CLI MUX trap received: (022) CL-B  MCL-2ETH             MODULE WAS INSERTED              EVENT   07-05-2010 12:08:40
CLI MUX trap received: (090) IO-2  ML-1E1        EX1    LOST SIGNAL ON E1/T1 LINK        OFF     04-06-2010 09:58:58
CLI MUX trap received: (094) IO-2  ML-1E1        EX1    CRC ERROR                        EVENT   04-06-2010 09:58:59
CLI MUX trap received: (009)                            CLK IS DIFF FROM MASTER CLK SRC  OFF     07-05-2010 12:07:32

如果我可以从右到左进行匹配,我可以在 (EVENT|OFF) 的右侧写一些类似的东西,直到第二次出现多个空格 []+

我今天管理的最好的方法是使用正则表达式获取从 (022) 到 EVENT 的所有内容
CLI MUX trap received: \([0-9]+\)[ ]+(.*[  ]+(EVENT|OFF))

但这并不是我真正想要的:)

编辑:它的语言是什么?它实际上是我们拥有的过滤器的配置字符串,但我猜它使用的是标准的 GNU C Regex 库。

编辑 2:我喜欢关于按长度切割的答案,但 Amarghosh 可能更符合我的要求。真的不知道为什么我没有想过像这样缩短长度:
^.{56}(.{39}).*$

super 感谢您的快速回答...

最佳答案

在 .NET 中,您可以使用 RightToLeft option :

Regex RE = new Regex(Pattern, RegexOptions.RightToLeft);
Match theMatch = RE.Match(Source);

关于regex - 从右到左匹配正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989606/

相关文章:

python - 在Python中从文本文件的几个相同结构的 block 中解析数据

python - 空字符串而不是不匹配的组错误

javascript - 带反向引用的正则表达式捕获组

mysql - 正则表达式获取所有 SQL 表的名称

regex - JSLint为我的正则表达式报告 "Insecure ^"-这是什么意思?

Java 中姓氏、名字的正则表达式

sql - 在 Oracle 中使用 NOT LIKE

java - Eclipse Regex 搜索和替换交换位置

jquery - 在JMETER中,如何根据特定文本提取选择名称和选项值

regex - 从Google Analytics(分析)中删除空查询字符串参数