gpt4 book ai didi

regex - 与正则表达式的反匹配

转载 作者:行者123 更新时间:2023-12-04 19:17:29 24 4
gpt4 key购买 nike

我搜索一个正则表达式模式,它不应该匹配一个组,而是匹配其他所有内容。
以下正则表达式模式基本有效:

index\.php\?page=(?:.*)&tagID=([0-9]+)$

但是 .* 不应该匹配 TaggedObjects

感谢您的任何建议。

最佳答案

(?:.*) 是不必要的 - 你没有对任何东西进行分组,所以 .* 的意思完全一样。但这不是您问题的答案。

要匹配任何不包含另一个预定义字符串(例如TaggedObjects)的字符串,请使用

(?:(?!TaggedObjects).)*

在你的例子中,

index\.php\?page=(?:(?!TaggedObjects).)*&tagID=([0-9]+)$

将匹配

index.php?page=blahblah&tagID=1234

不会匹配

index.php?page=blahTaggedObjectsblah&tagID=1234

如果您确实希望允许该匹配并且只排除确切的字符串 TaggedObjects,则使用

index\.php\?page=(?!TaggedObjects&tagID=([0-9]+)$).*&tagID=([0-9]+)$

关于regex - 与正则表达式的反匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660818/

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