【发布时间】:2014-01-27 23:01:59
【问题描述】:
我想解析文本
==== Example 1 ====
Some text that doesn't contain 4 equals signs
==== Example 2 ====
More text that doesn't contain 4 equals signs
==== Example 3 ====
Even more text that doesn't contain 4 equals signs
我的目标是在 Perl 中使用 RegEx 获得一个包含元素“示例 1”、“示例 2”和“示例 3”的数组。我是 Perl 和 RegEx 的初学者,所以最初我使用了贪婪的方法,它返回了我不想要的文本。当我后来使用非贪婪方法时,我只能得到“示例1”。我最近的尝试:
my @matches = ($text =~ /====(*?[ -~\s])====/g);
编辑:我知道怎么做this;相反,我想返回多个匹配而不是一个。
【问题讨论】:
-
您是否在 RegEx 末尾尝试了全局修饰符?
/regex/g. -
"...最初我使用...当我后来使用..." 您能否在您的尝试中包含一个 sn-p 代码?准确显示what you've tried 有助于提供有用的答案。
-
@JonathanLonowski 我刚刚添加了我尝试过的内容。
-
为什么不
/====\s?(.*?)\s?====/g?不完美,但如果你的情况很简单......