正则表达式数字和连字符

时间:2013-03-12 04:48:36

标签: php regex

我有一个函数可以在字符串中搜索一个有效的字母和/或数字组合,除非有时该组合还包含一个我想要匹配的连字符。下面的正则表达式取自较大的正则表达式模式匹配,但这是我坚持使用的表达式的一部分。

例如:

([A-ZA-Z0-9 - ] +)

匹配字符串123或123A但不匹配123-125或123A-125A

我确信这是一个简单的解决方案,但这不是我的强项。

提前致谢

$key= preg_replace("/http:\/\/www.website.com\/[0-9]+\/([A-Za-z0-9-]+)_([A-Za-z_]+)_(MUSIC|VIDEO|PHOTOS)_([A-Z_]+)_(..+)_([0-9]+)/i", '${1}, ${2}, ${3}, ${4}, ${5}, ${6}', $url);

1 个答案:

答案 0 :(得分:0)

简单,您需要转义字符集中的连字符:

([A-Za-z0-9\-]+)