使用Perl正则表达式提取匹配项

时间:2015-01-14 15:04:02

标签: regex perl

我正在尝试从这个RL2.OPT.TEST.01中提取以下字符串­a lot of text...[RL2.OPT.TEST.01]<some more text。基本上­RL2.之前可以有任何内容,但始终以­RL2.开头,并始终以­]­<或空格结束。

我尝试使用以下正则表达式:m/RL2\..*[\s<\]]+?$/g 但即使找到字符串­-- [RL2.OPT.TEST.01]的匹配项,它也不适用于­-- [RL2.OPT.TEST.01] some more text

我需要一个包含我所拥有的大字符串中所有结果匹配的数组。我想我还应该提一下,这个字符串有很多换行符,但从不在我试图提取的字符串中间。

关于我的正则表达式有什么问题的任何线索?

1 个答案:

答案 0 :(得分:3)

使用否定字符类并删除行锚$

的结尾
m/RL2\.[^\s<\]]*/g

DEMO

[^\s<\]]*否定字符类匹配任何字符但不匹配空格或<]零次或多次。