gpt4 book ai didi

ruby - 什么是匹配不在行尾的字符串的正则表达式?

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

正则表达式 /abc$/ 将匹配出现在行尾的 abc。我该怎么做?

我想匹配不在行尾的 abc

此外,我将使用正则表达式来替换字符串,所以我只想捕获 abc,而不是字符串后面的任何内容,所以 /abc.+$/ 不起作用,因为它不仅会替换 abc,还会替换 abc 之后的所有内容。

正确的正则表达式是什么?

最佳答案

/abc(?!$)/

(?!$) 是一个 negative lookahead .它将查找 abc 的任何匹配项,但后面没有直接跟 $(行尾)

测试

  • abcddee(匹配)
  • dddeeeabc(不匹配)
  • adfassdfabcs(匹配)
  • fabcddee(匹配)

将它应用到你的案例中:

ruby-1.9.2-p290 :007 > "aslkdjfabcalskdfjaabcaabc".gsub(/abc(?!$)/, 'xyz')
=> "aslkdjfxyzalskdfjaxyzaabc"

关于ruby - 什么是匹配不在行尾的字符串的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475015/

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