我有一个函数可以在字符串中搜索一个有效的字母和/或数字组合,除非有时该组合还包含一个我想要匹配的连字符。下面的正则表达式取自较大的正则表达式模式匹配,但这是我坚持使用的表达式的一部分。
例如:
([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);
答案 0 :(得分:0)
简单,您需要转义字符集中的连字符:
([A-Za-z0-9\-]+)