使用 PHP,我需要提取一个版本字符串(点分十进制),如果它存在于给定字符串中,则返回这两个部分。
考虑:
"Foobar R2" 应返回 'Foobar R2' 和 ''
"Foobar R2 12.23" 应返回 'Foobar R2' 和 '12.23'
"12.2.3.4.5.5"应返回"和"12.2.3.4.5.5"
对于仅查找版本的问题有很多答案,但我需要字符串的两个部分。
一如既往地感谢。
尝试:
preg_match('/^(.*?)s*b((?:d+(?:.d+)*)?)$/', $input, $match);
一种选择是使用preg_match
查找版本的众多答案之一并提供PREG_OFFSET_CAPTURE
标志。
这样,除了长度之外,您还可以在源字符串中获取匹配的偏移量,因此将输入字符串分解为例如 substr
得当。
另一种选择是简单地str_replace
带有空字符串的版本,这将留下"其他所有内容"部分。