gpt4 book ai didi

regex - 量词的正则表达式组合 *?

转载 作者:行者123 更新时间:2023-12-04 23:41:25 25 4
gpt4 key购买 nike

这个量词组合是什么*?意思?

将其用作以下示例:

([0-9][AB]*?)

最佳答案

这是一个非贪婪的匹配。在 [AB]*? ,正则表达式会查找出现次数最少的 [AB]根据需要使整个正则表达式匹配搜索的字符串,而贪婪版本 [AB]*寻找尽可能多的事件。这是 Perl 的一个特性 regexes ,因此在 PCRE 中可用(Perl 兼容的正则表达式)(参见 repetition )和其他系统,这些系统在 Perl 中进行了定义。
PCRE页面给出了一个例子:

The classic example of where [greediness] gives problems is in trying to match comments in C programs. These appear between /* and */ and within the comment, individual * and / characters may appear. An attempt to match C comments by applying the pattern:

/\*.*\*/

to the string

/* first comment */  not comment  /* second comment */

fails, because it matches the entire string owing to the greediness of the .* item.

If a quantifier is followed by a question mark, it ceases to be greedy, and instead matches the minimum number of times possible, so the pattern

/\*.*?\*/

does the right thing with the C comments.

关于regex - 量词的正则表达式组合 *?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522683/

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