gpt4 book ai didi

正则表达式匹配多个整个单词

转载 作者:行者123 更新时间:2023-12-02 00:35:40 28 4
gpt4 key购买 nike

我如何编写一个正则表达式,在 wxRegEx 中工作,以匹配这个伪正则表达式:*good|better|best*

我知道字符级别的正则表达式匹配,即 *.[ch]pp,但就整个单词而言,它是如何进行的?

谢谢。

最佳答案

这个问题很好地说明了为什么您应该始终指定您正在使用的正则表达式的风格。大多数正则表达式风格都提供了一种匹配单词边界的方法,其中大多数使用 \b 来实现。根据this page , wxRegEx 允许您选择三种形式中的一种:BRE、ERE 或 ARE。其中,只有 ARE 支持字边界,它使用 \y,而不是 \b。假设您在编译它时指定了 wxRE_ADVANCED,这个正则表达式将匹配任何包含单词 goodbetter 之一的字符串最好的:

\y(good|better|best)\y

从您使用的示例来看,我认为您可能将正则表达式与 glob 混淆了。例如,*.[ch] 是用于匹配以 .c.h 结尾的文件名的 glob;正则表达式为 \.[ch]$。在我之前链接到的网站上有一个很好的正则表达式教程,但我最关心的区别是正则表达式不必像 glob 那样描述整个字符串。这就是为什么我不必以 .* 开始正则表达式,但我确实必须在末尾添加 $ 以保留它来自匹配字符串,例如 foo.csbar.html

关于正则表达式匹配多个整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696605/

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