gpt4 book ai didi

regex - .* 和有什么不一样?和 .* 正则表达式?

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

我正在尝试使用正则表达式将字符串分成两部分。该字符串的格式如下:

text to extract<number>

我一直在用 (.*?)<<(.*?)>哪个工作正常,但在阅读了一些正则表达式之后,我才开始想知道为什么我需要 ?在表达式中。我只是在通过这个网站找到它们之后才这样做的,所以我不确定有什么区别。

最佳答案

这是贪婪和非贪婪量词之间的区别。

考虑输入 101000000000100 .

使用 1.*1 , *贪婪 - 它会一直匹配到最后,然后回溯直到可以匹配 1 , 留给你 1010000000001 ..*?是非贪婪的。 *将不匹配任何内容,但随后会尝试匹配额外的字符,直到匹配 1 , 最终匹配 101 .

所有量词都有非贪婪模式:.*? , .+? , .{2,6}? ,甚至 .?? .

在您的情况下,类似的模式可能是 <([^>]*)> - 匹配除大于号以外的任何内容(严格来说,它匹配除 > 之外的零个或多个字符,介于 <> 之间)。

Quantifier Cheat Sheet .

关于regex - .* 和有什么不一样?和 .* 正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075130/

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