gpt4 book ai didi

javascript - PCRE 中是否有 "negated alternation"或 "negated string classes"、 la "negated character classes"之类的东西?

转载 作者:行者123 更新时间:2023-12-02 19:22:06 25 4
gpt4 key购买 nike

好吧,虽然模式 [abc] 匹配单个字符 abc 时,模式 [^abc] 匹配任何不是的给定字符 abc.

现在,如果我在上面的语句中用 string 替换 character,如果我还将第一个模式更改为像 (abc |def|ghi)。 -- 它将匹配等于 abcdefghi 的三个字符的连续字符串。如何匹配等于 abcdefghi 的任意三个字符的字符串>?

最佳答案

这是正则表达式的一个常见问题,简短的回答是“否”,正则表达式的操作方式没有提供“除...之外的任何 3 字母字符串”的表达方式。

但是,一些正则表达式引擎允许所谓的“否定先行断言”。这些有点难以理解 - this explanation of lookaround似乎很好地涵盖了它,尽管有点技术性。

关于前瞻的重要一点是它是“零宽度”的——它不会“用完”任何字符串。因此,在 Javascript 中,您可以匹配如下字符串:'abc123ghi'.match(/abc(?!def)...ghi/) - (?!def) 表示在 'abc' 之后不能有字母 'def',但是 ... 需要存在说那里应该有其他 3 个字符。

关于javascript - PCRE 中是否有 "negated alternation"或 "negated string classes"、 la "negated character classes"之类的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12437757/

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