【问题标题】:How to find pattern ###_____### in a paragraph如何在段落中找到模式###_____###
【发布时间】:2011-06-03 12:03:36
【问题描述】:

我正在做的项目是这样的.. 我有一个字符串变量,它存储类似段落的内容。从这里我需要找到子字符串###_###的所有出现并提取“###”之间的值###之间的值可以是任何东西..

我正在考虑使用 split() 函数并比较存储的每个字符串是否有 2 个 ### 模式。但这似乎是一种非常低效的编码方式,尤其是因为单词的数量可能很大。

您能否建议我可以用来查找###_### 或直接用### 括起来的值的任何方法或函数。我不太了解正则表达式,我尝试过搜索,但还没有真正找到任何有用的东西..

提前谢谢..

【问题讨论】:

  • 请更新标签和问题以反映您正在使用的语言和/或库。

标签: search design-patterns wildcard


【解决方案1】:

你需要的正则表达式是:

(?<=\###).*(?=\###)

PHP 看起来像(假设您使用的是 PHP 代码):

$subject = $yourstring;
$pattern = '/(?<=\###).*(?=\###)/';
preg_match($pattern, $subject, $matches);

print_r($matches);

$matches 将在一个数组中包含所有结果。

【讨论】:

    【解决方案2】:

    对于当今的大多数语言,您都可以找到某种正则表达式来执行此操作。

     /###(.*)###/
    

    但@MDM 是正确的 - 您需要在此处添加更多上下文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2019-07-06
      • 1970-01-01
      相关资源
      最近更新 更多