gpt4 book ai didi

php - preg_match_all 用于特殊字符 [?]

转载 作者:行者123 更新时间:2023-12-02 19:01:15 27 4
gpt4 key购买 nike

我有一个网址:

https://my.site.com/u/0/ac?export=download&confirm=45vy&id=qNhdhk1jejhXLexLpY3RiDY2oamis">D

我想使用 preg_match_all 来匹配它。我的正则表达式是:

preg_match_all('/(https:\/\/my\.site\.com\/[u]\/[0]\/(ac)\/(?)\/.*\">D)/', $input_lines, $output_array);

但是我无法匹配上面代码中的特殊字符 ? 。我尝试使用(?)。但它不匹配。我知道这可能是一个蹩脚的问题,但如果有人可以帮助我在 preg_match_all 中匹配 ? 或转义 ? ,那将会很有帮助。

最佳答案

我刚刚注意到,在 ac 之后,链接中没有 / ,但您在正则表达式中添加了它,因此只需尝试删除它或使用下面的代码即可工作并经过测试。

<?php

$input_lines = 'https://my.site.com/u/0/ac?export=download&amp;confirm=45vy&amp;id=qNhdhk1jejhXLexLpY3RiDY2oamis">D';
preg_match_all('/(https:\/\/my\.site\.com\/[u]\/[0]\/(ac)(\?).*\">D)/', $input_lines, $output_array);

var_dump($output_array);

这是输出 - https://prnt.sc/weq86u

或者,如果在 ac/? 之后有可能发生,那么您可以尝试使用 / 作为正则表达式中的可选参数

<?php

$input_lines = 'https://my.site.com/u/0/ac?export=download&amp;confirm=45vy&amp;id=qNhdhk1jejhXLexLpY3RiDY2oamis">D';
preg_match_all('/(https:\/\/my\.site\.com\/[u]\/[0]\/(ac)\/?(\?).*\">D)/', $input_lines, $output_array);

var_dump($output_array);

它将匹配带有或不带有 / 的两个链接 https://prnt.sc/weqbae

关于php - preg_match_all 用于特殊字符 [?],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65540216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com