php - 正则表达式在它们之间有空格时加入数字

标签 php python regex replace preg-replace

我正在尝试构建一个正则表达式,当它们之间有空格时将数字连接到一个字符串中,例如:

$string = "I want to go home 8890 7463 and then go to 58639 6312 the cinema"

正则表达式应该输出:

"I want to go home 88907463 and then go to 586396312 the cinema"

正则表达式可以是 python 或 php 语言。

谢谢!

最佳答案

使用前瞻来查看下一个 block 是否是一组数字并删除尾随空格。这样,它适用于任意数量的集合(我怀疑你可能想要):

$string = "I want to go home 8890 7463 41234 and then go to 58639 6312 the cinema";

$newstring = preg_replace("/\b(\d+)\s+(?=\d+\b)/", "$1", $string);
// Note: Remove the \b on both sides if you want any words with a number combined.
// The \b tokens ensure that only blocks with only numbers are merged.

echo $newstring;
// I want to go home 8890746341234 and then go to 586396312 the cinema

关于php - 正则表达式在它们之间有空格时加入数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6929981/

相关文章:

python - 根据标点符号区分文本大小写

python - 使用字符串的出现过滤数据框内容

regex - ANTLR4 RegEx 词法分析器模式

python - 从 shell 和 python 中的行中删除字符串

php - PDOStatement::nextRowset() 不适用于 dblib 和 MSSQL

PHP:如何获取 HTML 元素的正确结束标记

php - 如何在 Laravel 5.1 中向电子邮件添加 header

ruby-on-rails - 使用 Ruby 从字符串中删除 bytesize 大于 2 的字符

regex - Perl 未能说明 `Variable length lookbehind not implemented`

php - Laravel Eloquent 地如何从集合中加载和获取单独数组中的关系