Preg_match不能正常工作

时间:2014-03-28 14:51:19

标签: php preg-match

我花了一段时间在互联网上搜索,但仍然无法找出我的脚本无法正常工作的原因:(

这是我需要检查的字符串($ title)

Nanatsu no Taizai – Chương 071: Tồn tại trong bóng đêm

并且我使用的正则表达式列表但总是返回false

"/^([a-z\ ]+)[\-]{1,}/i"

"/^([a-z\ ]+)[\ ]{0,1}[\-]{1,}/i"

"/^([a-z\ ]+)[\-]{1,}/ui"

我使用的代码是

preg_match($regex,$title,$matches)

请帮帮我。提前谢谢。

3 个答案:

答案 0 :(得分:4)

如果您只是尝试将所有内容提取到第一个-,那么最好的方法就是不要使用正则表达式。 strtoktrim可能适合您:

$result = trim(strtok($title, '-'));

如果您希望结果包含-,则可以执行以下操作:

$result = strtok($title, '-') . '-';

答案 1 :(得分:0)

也许这对你有用

$t = "Nanatsu no Taizai - Chương 071: Tồn tại trong bóng đêm";

preg_match('/(.*) - (.* [0-9]{1,}:) (.*)/i', $t, $matches);

print_r($matches);

结果

Array
(
    [0] => Nanatsu no Taizai - Chương 071: Tồn tại trong bóng đêm
    [1] => Nanatsu no Taizai
    [2] => Chương 071:
    [3] => Tồn tại trong bóng đêm
)

更好?

答案 2 :(得分:-1)

查看Unicode character properties,从表格中找到您的语言并使用 \ p {Thai}