Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex 如何使其成为负正则表达式_Regex - Fatal编程技术网

Regex 如何使其成为负正则表达式

Regex 如何使其成为负正则表达式,regex,Regex,我有以下字符串要替换其中的部分: 诸如此类的先生。[-用户名-][-用户名-] 这将替换所有内容[-]: preg_replace('/[^\[-[a-z\d_\/A-Z. ]+-\]]/i', '', $body); 我的目标是替换[--]中不存在的所有内容 你知道我怎样才能使它有价值吗?不要使用preg\u replace()。对相同的正则表达式使用preg\u match\u all(),并连接结果 preg_match_all('%\[-[a-z\d_/A-Z. ]+-\]%', $s

我有以下字符串要替换其中的部分:

诸如此类的先生。[-用户名-][-用户名-]

这将替换所有内容[-]:

preg_replace('/[^\[-[a-z\d_\/A-Z. ]+-\]]/i', '', $body);
我的目标是替换[--]中不存在的所有内容


你知道我怎样才能使它有价值吗?

不要使用
preg\u replace()
。对相同的正则表达式使用
preg\u match\u all()
,并连接结果

preg_match_all('%\[-[a-z\d_/A-Z. ]+-\]%', $subject, $result, PREG_PATTERN_ORDER);
$result = implode($result[0]);

那个正则表达式无效,是吗?它不应该是
preg\u replace(“%\[-[a-z\d\d/a-z.]+-\]%”,“,$body”)