Php 每边几个特殊字符之间的preg_匹配字符串
我试图去除MathJax分隔符之间包含的所有文本,例如Php 每边几个特殊字符之间的preg_匹配字符串,php,regex,Php,Regex,我试图去除MathJax分隔符之间包含的所有文本,例如$str1=blah blah\(2*(2+2)=8\)blah blah\[\int\u 0^1f=[f]\u 0^1\] 正如您可能已经指出的,分隔符是\(…\)和\[…\],而..部分可能包含任何字符()[]\ 仅考虑到\[…\]的情况,我尝试了这个方法 $text = preg_replace("/\\\[.*\\\]/","",$text); 但由于某些原因,它与我的表达式不匹配 $text = preg_replace("/.\
$str1=blah blah\(2*(2+2)=8\)blah blah\[\int\u 0^1f=[f]\u 0^1\]
正如您可能已经指出的,分隔符是\(…\)
和\[…\]
,而..
部分可能包含任何字符()[]\
仅考虑到\[…\]
的情况,我尝试了这个方法
$text = preg_replace("/\\\[.*\\\]/","",$text);
但由于某些原因,它与我的表达式不匹配
$text = preg_replace("/.\[.*\\\]/","",$text);
确实匹配我的表达式(但也匹配一些不需要的表达式,如a[…\]
)
所以我的问题有两个:
\\\[
有什么问题吗提前感谢!这里有一个正则表达式,它将匹配任何一个分隔符:
preg_replace('/\\[\[\(].*?\\[\]\)]/', '', $data);
下面是一个正则表达式,它将匹配任何一个分隔符:
preg_replace('/\\[\[\(].*?\\[\]\)]/', '', $data);
preg\u replace(“/\[.*]/”,“,$str1”);
preg\u replace
函数的模式参数是一个普通的PHP字符串,因此\\
将被\
替换,以生成以下正则表达式模式:
/\\\[.*\\\]/
前两个反斜杠\\
与主题中的反斜杠匹配,其余的\[
和\]
分别与[
和]
匹配
preg\u replace(“/\ \[(?:(?!)))**”,“,$str1”);
遇到?!\\\\\]
时,?!\\\\\\\]
会立即停止匹配。?:
会阻止捕获外圆括号对
preg\u replace(“/\[.*]/”,“,$str1”);
preg\u replace
函数的模式参数是一个普通的PHP字符串,因此\\
将被\
替换,以生成以下正则表达式模式:
/\\\[.*\\\]/
前两个反斜杠\\
与主题中的反斜杠匹配,其余的\[
和\]
分别与[
和]
匹配
preg\u replace(“/\ \[(?:(?!)))**”,“,$str1”);
遇到?!\\\\\]
时,?!\\\\\\\]
会立即停止匹配。?:
会阻止捕获外圆括号对是否要删除介于
\[\]
之间的所有内容?@HamZaDzCyberDeV yes,以及\[\]
之间的所有内容。是否要删除介于\[\]
之间的所有内容?@HamZaDzCyberDeV yes,以及\[\]
也是。谢谢你的建议,但我尝试过的一堆表达式都不起作用……是的,对不起,我使用的是在线php正则表达式编辑器……似乎坏了:(谢谢你的建议,但我尝试过的一堆表达式都不起作用……是的,对不起,我使用的是在线php正则表达式编辑器……似乎坏了:)我很乐意帮忙。