gpt4 book ai didi

regex - `{n}` 正则表达式中 posix 类之后的迭代元字符

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

我正在学习正则表达式。我对那个例子有一些疑问:

我想找到名称中带有常规扩展名的所有文件。这有效:

ls | grep '\.[[:lower:]][[:lower:]][[:lower:]]$'

但这不会:
ls | grep '\.[[:lower:]]{3}$'

据我了解 {n}迭代元字符结果与具有完全 {n} 的模式匹配前面字符的出现。它不适用于 POSIX 类吗?还是我在这里犯了一些愚蠢的错误?

最佳答案

POSIX basic (BRE) ,您需要转义大括号才能使其工作:

ls | grep '\.[[:lower:]]\{3\}$'

在 POSIX 扩展 (ERE) 中,此要求已被删除,并且 ERE 最终还在正则表达式中添加了交替 ( | )(尽管一些使用 BRE 的工具确实支持通过 \| 进行交替)。

关于regex - `{n}` 正则表达式中 posix 类之后的迭代元字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23647250/

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