gpt4 book ai didi

正则表达式:匹配除两个点之外的所有内容

转载 作者:行者123 更新时间:2023-12-02 17:54:55 24 4
gpt4 key购买 nike

我正在尝试验证系统路径。如果此路径以一些目录开头且不包含两个点,则此路径有效。

#valid path
/home/user/somedir/somedir_2
#evil path
/home/user/../somedir_2/

我知道如何检查路径中的两个点:

\.\. or [\.]{2}

但我真的很想做这样的事情:

/home/user/<match everything but two dots>/somedir_2/

这样“匹配除两个点以外的所有内容”可以是除两个点以外的所有内容。

我试过:

/home/user/[^\.{2}]*/somedir_2/

但没有任何成功。

最佳答案

规范不明确,但你可以使用负前瞻来做这样的事情:

^(?!.*thatPattern)thisPattern$

以上将匹配与 thisPattern 相匹配的字符串,但如果它包含 thatPattern 的匹配则不会。

这是一个例子(as seen on rubular.com):

^(?!.*aa)[a-z]*$

这将匹配 ^[a-z]*$,但如果它在任何地方包含 aa 则不匹配。

引用资料

关于正则表达式:匹配除两个点之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3123508/

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