gpt4 book ai didi

php - 尝试在 Preg_Match 中查找正斜杠

转载 作者:可可西里 更新时间:2023-10-31 22:45:41 26 4
gpt4 key购买 nike

我已经搜索了几个小时,试图找到解决这个问题的方法。我正在尝试确定 REQUEST URI 是否合法并从那里分解它。

$samplerequesturi = "/variable/12345678910";

判断是否合法,第一段variable只有字母,长度可变。第二部分是数字,总共应该有 11 个。我的问题是转义正斜杠,以便它在 uri 中匹配。我试过:

preg_match("/^[\/]{1}[a-z][\/]{1}[0-9]{11}+$/", $samplerequesturi)
preg_match("/^[\\/]{1}[a-z][\\/]{1}[0-9]{11}+$/", $samplerequesturi)
preg_match("/^#/#{1}[a-z]#/#{1}[0-9]{11}+$/", $samplerequesturi)
preg_match("/^|/|{1}[a-z]|/|{1}[0-9]{11}+$/", $samplerequesturi)

还有一些我现在想不起来了。

请求通常会出错:

preg_match(): Unknown modifier '|' 
preg_match(): Unknown modifier '#'
preg_match(): Unknown modifier '['

编辑:我想我应该声明 REQUEST URI 是已知的。我试图证明整个字符串以确保它不是伪造的字符串,即确保第一组只有小写字母,第二组只有 11 个数字。

最佳答案

/ 不是唯一可以用作分隔符的东西。事实上,您几乎可以使用任何非字母数字字符。我个人喜欢使用 (),因为它提醒我结果数组的第一项是整个匹配项,而且它永远不需要在模式中转义。

preg_match("(^/([a-z]+)/(\d+)$)i",$samplerequesturi,$out);
var_dump($out);

应该这样做。

关于php - 尝试在 Preg_Match 中查找正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12239424/

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