我有一个函数可以在字符串中搜索一个效果很好的字母和/或数字组合,但有时该组合还包含一个我也想匹配的连字符。下面的正则表达式取自更大的正则表达式模式匹配,但这是我坚持的表达式的一部分。
例如:
([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);