gpt4 book ai didi

regex - POSIX正则表达式: Excluding a word in an expression?

转载 作者:行者123 更新时间:2023-12-01 13:35:07 25 4
gpt4 key购买 nike

我正在尝试使用可以在我的C程序代码中使用的POSIX(扩展)正则表达式创建一个正则表达式。

具体来说,我想出了以下内容,但是,我想在匹配的表达式中排除单词“http”。经过一些搜索,它看起来并不像POSIX那样明显可以捕获特定的字符串。在下面的示例中,我正在使用一种称为“负向外观”的东西(即(?!http :) )。但是,我担心这可能仅适用于除POSIX以外的方言中定义的正则表达式。
是否允许负前瞻? POSIX中是否允许逻辑NOT运算符(即!)?

工作正则表达式示例:
href|HREF|src[[:space:]]=[[:space:]]\"(?!http:)[^\"]+\"[/]
如果我不能像其他方言一样使用否定前瞻,我该如何对上述正则表达式过滤掉特定的单词“http:”?理想情况下,是否有没有逆逻辑并最终在过程中创建一个荒谬的长正则表达式的方法? (我上面提到的那一堆已经很长了,如果可能的话,我宁愿不要看起来更加困惑)

[注意:我已经在Stack Overflow中咨询了其他相关的线程,但是最相关的线程似乎只是一般地问这个问题,这意味着给出的答案并不一定意味着它们在另外一两个线程中都是POSIX风格的==> ,我已经看到了上面的 (?!insertWordToExcludeHere) 否定前瞻,但我担心它仅适用于PHP。)

[注意2:我也会采用任何POSIX正则表达式措词,我们将不胜感激。是否有人建议过滤掉“http:”的正则表达式的外观,以及如何将其替换为(?!http :) 使其适合我当前的正则表达式?]

最佳答案

根据http://www.regular-expressions.info/refflavors.html的介绍,POSIX风格中不包含前行和后行。

如果您的问题过于复杂而无法清晰地表示为正则表达式,则可以考虑使用词汇化(标记化)和解析。

关于regex - POSIX正则表达式: Excluding a word in an expression?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15377469/

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