Php Preg Match以获取Total | |和\\n |之间的所有内容

Php Preg Match以获取Total | |和\\n |之间的所有内容,php,regex,preg-match,Php,Regex,Preg Match,所以我想捕获字符串中Total | |和\\n |}之间的所有内容。现在,我当前的代码如下所示: preg_match('/(Total ||)(.*?)(\\n)/', $jsonwiki, $competitors); 但是我的正则表达式失败并返回一个空数组,我不知道为什么?对于这种类型的模式,您需要进行合理的转义,因为正则表达式中有运算符,所以通过添加反斜杠来转义,您告诉正则表达式解释器应该逐字读取它们;真的 preg_match('/Total \|\|(.*)\\\\n\|}/',

所以我想捕获字符串中
Total | |
\\n |}
之间的所有内容。现在,我当前的代码如下所示:

preg_match('/(Total ||)(.*?)(\\n)/', $jsonwiki, $competitors);

但是我的正则表达式失败并返回一个空数组,我不知道为什么?

对于这种类型的模式,您需要进行合理的转义,因为正则表达式中有运算符,所以通过添加反斜杠来转义,您告诉正则表达式解释器应该逐字读取它们;真的

preg_match('/Total \|\|(.*)\\\\n\|}/', $jsonwiki, $competitors);
                 //↑ ↑     ↑↑   ↑ Backslash added

我不太懂正则表达式,我只是添加了一些转义

(Total \|\|)(.*?)(\\\\n)


\
\
转义,因为它们在正则表达式引擎中用于表示特定的内容,因此如果您想要一个文本管道,您需要
\\\\

您尝试了什么?
/(Total | | |)(.*)(\\n)/
@Sami^^^这是一个好的开始。将当前的正则表达式放入问题(it)中,并解释您在哪里卡住了?你有错误吗?把你的正则表达式放进去玩一玩。
(Total\\\\\\\)(.*)(\\\\n)
@Dagon,真棒。回答正确。请发布你的答案。干杯。也许可以解释为什么这些字符需要转义?@Rizier123是的,妈妈。否则你今天不能在外面玩了!:P@Dagon你从地球上掉下来了吗?;-)也许可以解释为什么这些角色需要逃脱?干杯@Rizier123