2013-02-16 64 views
1

如果我有字符串:PHP表达式匹配的可变长度的文本

Detroit 10 New Jersey 2 (FINAL) 

有没有一种方法来匹配一个正则表达式Detroit 10New Jersey 2

我不知道如何做到这一点,如果城市名称是不同的长度和一些城市名称中有空格。

+1

[你尝试过什么?](http://whathaveyoutried.com) – 2013-02-16 04:43:31

+1

如果你的字符串实际上有三个空间,你可以分开。 – 2013-02-16 04:44:12

+0

拆分数字。那会给你3串。 “底特律10”,“新泽西2”和“(最终)”。一旦你有了不同的城市/分数,将它们分成城市和分数将会更容易。 – 2013-02-16 04:52:08

回答

0

您可以使用正则表达式,使用数字来划定城市名称的末尾。

像:

/([^\d]*\d+)/ 
+0

啊,这是一个很好的开始。现在我只需要找到一种用大写字母(而不是空格)来启动它的方法。第一场比赛有效,但第二场比赛发现“新泽西2”。让我看看我能否从这里弄清楚。 – user2059630 2013-02-16 05:23:43

+0

/([A-Z] [a-zA-Z] * \ s * \ d +)/ works!谢谢! – user2059630 2013-02-16 05:45:48

+0

它会更简单:/([^ \ d \ s] [^ \ d] * \ d +)/ – 2013-02-16 06:35:35

0

试试这个:

$str = "Detroit 10 New Jersey 2 (FINAL)"; 

preg_match_all("/(\w+)+\d+/", $str, $m); 

print_r($m[0]);// the resulted strings are in this table $m[0] 

希望它可以帮助