【问题标题】:How to find all instances of text between two delimiters (perl)?如何找到两个分隔符(perl)之间的所有文本实例?
【发布时间】: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?不完美,但如果你的情况很简单......

标签: regex perl


【解决方案1】:

为什么不/====\s?(.*?)\s?====/g

不完美,但如果你的情况很简单......

【讨论】:

    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2010-11-15
    • 1970-01-01
    • 2023-03-03
    • 2021-04-04
    相关资源
    最近更新 更多