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