我的字符串可以是
new-york-10036
或
chicago-55036
期望的结果是
new-york
chicago
我基本上想要删除第一个破折号后面的所有字符串 - 后跟一个数字
似乎很容易,但我不知道如何
答案 0 :(得分:3)
您可以使用Negative Lookahead,如下所示:
(.+)(?=\-\d)
正则表达式上写着:“给我一切不,然后只有一个短划线,之后只有一个数字。”
鉴于输入new-york-10036
,正则表达式仅捕获new-york
。在PHP中,您可以获得匹配的字符串:
$string = 'new-york-10036';
$regex = '/(.+)(?=\-\d)/';
preg_match($regex, $string, $return);
echo $return[0] . "\n";
输出new-york
。
请参阅正则表达式here。