gpt4 book ai didi

正则表达式匹配至少 n 次但不超过 m 次

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

我想要一个可以匹配字符串 %*--- 的正则表达式至少有 1 个连字符,但如果连字符超过 3 个,则表达式不应匹配。![在此处输入图像描述][1]
到目前为止,我已经想出了 /^%?\*{1}\s*(\- *){1,3}/但是当连字符超过 3 时它仍然匹配。

我也试过?在范围之后 {1,3}但它不符合要求。

最佳答案

虽然它经常被写成 {min,max}在教程和引用文献中,枚举量词并不意味着不超过 max .如果它看到三个连字符,-{1,3}将消耗所有三个,但它不关心下一个字符是什么(如果有一个)。在这方面,它就像所有其他量词一样:它尽可能多地消耗,然后将控制权交给正则表达式的下一部分。

这就是为什么其他响应者建议使用结束 anchor ( $ )。如果你不能使用 anchor ,或者不想使用,你可以使用负前瞻:

/^%\*-{1,3}(?!-)/

关于正则表达式匹配至少 n 次但不超过 m 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31468679/

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