Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 - Fatal编程技术网

PHP,正则表达式仅替换两个字符,仅此而已

PHP,正则表达式仅替换两个字符,仅此而已,php,regex,Php,Regex,所以我已经找了一段时间了,我开始发疯了。我显然不是正则表达式专家,但我希望你能尽快帮我 问题 我正在尝试编写一个正则表达式行,它将替换两个破折号,不多也不少。一个破折号应该被忽略,三个破折号应该被忽略 我试过的 我想到了这个,但它循环: [--]{2} 这对我来说毫无意义: ^[--]{2}$ 请帮帮我!谢谢 在破折号周围加上: (? 这样,只有在前面或后面没有破折号的情况下,两个破折号才会匹配。那么4个破折号呢?例如,2个破折号中的2个破折号?应该被忽略。@ndn是正确的,我只是不能将其标

所以我已经找了一段时间了,我开始发疯了。我显然不是正则表达式专家,但我希望你能尽快帮我

问题 我正在尝试编写一个正则表达式行,它将替换两个破折号,不多也不少。一个破折号应该被忽略,三个破折号应该被忽略

我试过的 我想到了这个,但它循环:

[--]{2}
这对我来说毫无意义:

^[--]{2}$
请帮帮我!谢谢

在破折号周围加上:

(?

这样,只有在前面或后面没有破折号的情况下,两个破折号才会匹配。

那么4个破折号呢?例如,2个破折号中的2个破折号?应该被忽略。@ndn是正确的,我只是不能将其标记为已回答(问题小于15分钟)。在这种情况下,yup ndn的答案对我来说很好:)这(
----
)是否匹配?一次,两次,或者没有?我想这里需要为未来的用户解释未来的用户应该真正阅读我提供的链接。但是,长话短说:
(?基本上意味着在当前位置之前的某个内容会导致匹配失败,
(!something)
意味着在当前位置之后的某个内容会导致匹配失败。总之,答案+1…@ndnd您是否更改了答案中的任何内容?我得到了“未知修饰符”-”“当我现在试的时候。”马德马文,不,我没有。你可以看到它在工作。
(?<!-)--(?!-)