Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 模式替换查询。_Php_Regex_Preg Replace - Fatal编程技术网

Php 模式替换查询。

Php 模式替换查询。,php,regex,preg-replace,Php,Regex,Preg Replace,目前我有 Input: e.g., '123456789'.'+'.'987654321' 所需图案: Output: e.g., '123456789987654321' 如何在php中实现这一点?我还没看完regex,那么preg_会用什么regex来代替它呢 我不确定是否明白你的问题,但如果你问的是如何去掉加号: $input = '123456789+987654321'; $output = preg_replace('/([^+]+)\+([^+]+)/', '$1$2',

目前我有

 Input: e.g., '123456789'.'+'.'987654321'
所需图案:

Output: e.g., '123456789987654321'

如何在php中实现这一点?我还没看完regex,那么preg_会用什么regex来代替它呢

我不确定是否明白你的问题,但如果你问的是如何去掉加号:


$input = '123456789+987654321';
$output = preg_replace('/([^+]+)\+([^+]+)/', '$1$2', $input);
echo $output, PHP_EOL;
试试这个

 $input = "'123456789'.'+'.'987654321'";
 $output = trim("'", preg_replace("/([^+]+)'\.'\+'\.'([^+]+)/", "$1$2", $input));
 // Without RegEx
 $output = trim("'", str_replace("'.'+'.'", "", $input));
 echo $output;
如果您只有123456789+987654321作为输入,并希望12345678987654321作为输出,则只需删除+不需要正则表达式:

$output = str_replace("+", "", $input);
如果要在更大的字符串中替换此模式,可以使用以下正则表达式:

$output = preg_replace("/(\\d+)\\+(\\d+)/", "$1$2", $input);
请注意,+在正则表达式中有特殊含义,需要用反斜杠转义。此外,反斜杠在PHP字符串中有特殊含义,需要由反斜杠本身转义


因此,上面的内容变成了内存中的字符串/\d++\d++/,正则表达式引擎可以理解,您指的是多个数字\d+和一个文字加号\+。

我认为他实际上是在尝试连接

 $customer_id = 123456789;
 $operator_domain = 987654321;

 $Output = $customer_id.$operator_domain;

输入格式为“123456789”。+。“987654321”,因此当前正则表达式不会给出所需的结果。“123456789”。+。“987654321”与“123456789+987654321”相同。我遗漏了什么吗?你能解释一下所用的正则表达式吗?这样我就可以了解一些正则表达式的知识了?他在寻找的是“123456789”。+。“987654321”@St.John Johnson:是的。你是对的。我现在已经修改了,输入是上述模式,期望的输出是其他模式,所以什么正则表达式可以解决这个问题?是的。但是我并没有分别得到两个字符串,我有string1+string2,我想把它连接到string1string2