在 PHP 中使用正则表达式分隔单词(中间有空格和特定标点符号)

问题描述 投票:0回答:3

我有一个字符串,它包含一些我想要到达的单词,分隔符可以是由

,
;
或空格组成的任何字符串。

这是一个例子:

;,osman,ali;, mehmet ;ahmet,ayse; ,

我需要将单词

osman
ali
mehmet
ahmet
ayse
放入数组或任何我可以一一使用的类型。我尝试使用 preg 函数,但我无法弄清楚。

如果有人提供帮助,我将不胜感激。

php regex preg-split
3个回答
8
投票
$words = preg_split('/[,;\s]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
  • [,;\s]
    是一个字符组,表示 匹配该组中包含的任何字符
  • \s
    匹配任何空白字符(空格、制表符、换行符等)。如果太多,只需将其替换为空格:
    [,; ]
  • +
    表示 匹配一个或多个前面的符号或组

演示

http://www.regular-expressions.info/是学习正则表达式的好网站。


3
投票

您想使用 preg_split 并使用 [;, ]+ 来分割您的正则表达式

$keywords = preg_split("/[;, ]+/", $yourstring);

1
投票

拆分非单词字符:

$array=preg_split("/\W+/", $string);
© www.soinside.com 2019 - 2024. All rights reserved.