gpt4 book ai didi

ruby - Ruby 中正则表达式的贪婪和非贪婪方法有什么区别?

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:36 24 4
gpt4 key购买 nike

任何人都可以通过一些合适的示例帮助我理解两种正则表达式方法之间的区别吗?

  • 贪心
  • 非贪婪

谢谢

最佳答案

在贪婪的方法中,正则表达式模式倾向于消耗源字符串中的最大字符数。例如

textstr = "bcabdcab"
textstr.gsub!(/(.*)ab/, "xxx")
# this will match whole `bcabdcab` and return `xxx`

这里的*是一个贪婪量词。在非贪婪方法中,正则表达式引擎在满足匹配条件时返回。要使量词非贪婪附加?

textstr = "bcabdcab"
textstr.gsub!(/(.*?)ab/, "xxx")
# this will match only `bcab` part and return `xxxdcab`

gsub 返回 str(第一个参数)的副本,所有出现的 pattern 都替换为第二个参数

关于ruby - Ruby 中正则表达式的贪婪和非贪婪方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14339978/

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