【问题标题】:Make a multiple delimiter REGEX for preg_split为 preg_split 创建多个分隔符 REGEX
【发布时间】:2013-04-25 10:36:43
【问题描述】:

我需要用不同的分隔符分割多个文件中的多行。我认为 preg_split 应该可以完成这项工作,但我从未使用过 PCRE REGEX 的东西。我还可以将所有分隔符更改为一致,但这会增加不必要的计算。

问:我的分隔符由 (,)(;)(|)(space) 组成,我很好奇如何构建这样的 REGEX。

【问题讨论】:

  • preg_split('/,|;|\||\s/', $sting); Yaaaay !
  • 我的问题有什么问题?
  • 我认为因为这是一件非常简单的事情,如果您查看 PHP 文档,您会发现 good example

标签: php regex pcre delimiter


【解决方案1】:

将字符放在方括号中[]:

$parts = preg_split('/[,;| ]/', $string, null, PREG_SPLIT_NO_EMPTY);

您也可以使用\s 代替空格字符,它匹配各种空白,例如制表符和换行符。

【讨论】:

  • 谢谢,我有点惊讶正则表达式实际上是多么简单。 [] 检查其中的每个字符吗?在一堆更高级的正则表达式中很难找到这个简单的信息。
  • @MennoGouw 它被称为字符类,以防您想了解更多信息。 Here is a good tutorial 在非常彻底地解释基础知识之前,它不会用“大量更高级的正则表达式的东西”让你不知所措。
【解决方案2】:

试试这个:

$string = "foo:bar|it;is:simple";
print_r(preg_split ( '/,|;|\||\s/' , $string ));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 2023-04-02
    • 1970-01-01
    • 2018-04-27
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多