我需要检查正则表达式,尤其是:

/it/categoria/diritti-e-ugualianza
/it/categoria/diritti-e-ugualianza/
/it/categoria/diritti-e-ugualianza?i=1
/it/categoria/diritti-e-ugualianza/?i=1


必须按照唯一规则进行检查

我尝试这个

/it/categoria/diritti-e-ugualianza(?:/(.*))?$


但仅适用于
/ it / categoria / diritti-e-ugualianza
/ it / categoria / diritti-e-ugualianza /

是否存在一种忽略参数的方法?
谢谢

最佳答案

您可以将/替换为与[/?]?匹配的字符类/

/it/categoria/diritti-e-ugualianza(?:[?/](.*))?$
                                     ^^^^


请参见regex demo

细节


/it/categoria/diritti-e-ugualianza-文字子字符串
(?:[?/](.*))?-匹配1或0次出现的可选组


[?/]-一个?/
(.*)-捕获组1:到行尾的任何0+字符

$-字符串结尾。

关于regex - 正则表达式检查url是否带有斜杠和参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51196167/

10-10 07:43