gpt4 book ai didi

regex - 捕获两个字母之间的文本时出现问题

转载 作者:行者123 更新时间:2023-12-01 07:30:24 25 4
gpt4 key购买 nike

我正在使用以下正则表达式来获取 /* 之间的文本和 */ :

(/\*)+(.+)(\*/)

当这只需要发生一次时,这工作正常,例如整个字符串只是
/* hello */
it only needs to capture once

但如果有不止一次需要捕获它,它会抓取介于两者之间的内容,例如:
/* hello */
it only needs to capture more than once [THIS ALSO GET'S HIGHLIGHTED]
/* second time */

为什么会发生这种情况?

最佳答案

因为你在告诉它。默认情况下,正则表达式是贪婪的,这意味着它们会匹配最长的东西。

在 Perl regexp 中,您可以通过以下方式覆盖该行为

(/\*)+(.+?)(\*/)

这 '?'告诉 '+' 匹配最短的字符串,而不是最长的。

关于regex - 捕获两个字母之间的文本时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5730517/

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