Php 预匹配所有反斜杠[\]&;[u002F]

Php 预匹配所有反斜杠[\]&;[u002F],php,regex,Php,Regex,我有一个网址: https:\u002F\u002Fsite.vid.com\u002F93836af7-f465-4d2c-9feb-9d8128827d85\u002F6njx6dp3gi.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VudHJ5IjoiSU4iLCJkZXZpY2VfaWQiOiI1NjYxZTY3Zi0yYWE3LTQ1MjUtOGYwYy01ODkwNGQyMjc3ZmYiLCJleHAiOjE2MTA3M

我有一个网址:

https:\u002F\u002Fsite.vid.com\u002F93836af7-f465-4d2c-9feb-9d8128827d85\u002F6njx6dp3gi.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VudHJ5IjoiSU4iLCJkZXZpY2VfaWQiOiI1NjYxZTY3Zi0yYWE3LTQ1MjUtOGYwYy01ODkwNGQyMjc3ZmYiLCJleHAiOjE2MTA3MjgzNjEsInBsYXRmb3JtIjoiV0VCIiwidXNlcl9pZCI6MH0.c3Xhi58DnxBhy-_I5yC2XMGSWU3UUkz5YgeVL1buHYc","
我想用preg_match_all匹配它。我的正则表达式是:

preg_match_all('/(https:\/\/site\.vid\.com\/.*\",")/', $input_lines, $output_array);
但我无法匹配上述代码中的特殊字符
\
&
u002F
。我试着使用(逃跑功能)。但它并不匹配。我知道这可能是一个蹩脚的问题,但如果有人能帮助我匹配
\
u002F
或在preg\u match\u all中转义
\
u002F
,那将是非常有帮助的

问题编辑:

我只想使用
preg\u match\u all
,因为我试图从html页面中提取上述URL。

您可以使用

preg\u match\u all('~https:(?://)(?:\\\\u002F){2})site\.vid\.com(?:/“\\\\\u002F)[^”]*~,$string)
详情如下:

  • https:
    -文本字符串(如果
    s
    是可选的,请使用
    https?:
  • (?://|)(?:\\u002F){2}
    -与
    //code>或(
    )两次出现的
    \u002F
    匹配的非捕获组
  • site\.vid\.com
    -一个文本
    site.vid.com
    字符串(点是一个元字符,它匹配除换行符以外的任何字符,因此必须转义)
  • (?:/| \\u002F)
    -与
    /
    \u002F
    文本匹配的非捕获组
  • [^”]*
    -与零个或多个字符(而非
    )匹配的求反字符类
见:

$re='~https:(?://)(?:\\\\u002F){2})site\.vid\.com(?:/\\\\\u002F)[^“]*~;
10.2.2-42C2-2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 2 2 2 2 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 Z5YGEVL1BUHYC“,”;
预匹配全部($re,$str,$matches,预设置顺序,0);
打印($matches[0]);
//=>数组([0]1.2.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 7 7 7 8 8 8 8 8 8 8 8 8 10 10 10 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 EVL1BUHYC)

Try
preg\u match\u all('~https:(?:/)(?:\\\\u002F){2})site\.vid\.com(?:/\\\\\\u002F)[^“]*~,$string)
,请看和。@WiktorStribiż谢谢兄弟!它工作得很好。你能给我解释一下这个表达式吗?我是新手!希望不要问太多,我在答案中添加了解释。Tysm先生!得到你的答案!(457304代表)非常感谢