加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

红宝石 – 什么是正则表达式来匹配一行不是一行的末尾?

发布时间:2020-12-14 06:36:54 所属栏目:百科 来源:网络整理
导读:正则表达式/ abc $ /将匹配出现在行尾的abc。我该如何做逆? 我想要匹配不在行尾的abc。 此外,我将使用正则表达式来替换字符串,所以我只想捕获abc,而不是任何字符串之后,所以/ abc。 $ /不起作用,因为它不仅会替代abc,而且还会替代abc之后的任何东西。
正则表达式/ abc $ /将匹配出现在行尾的abc。我该如何做逆?

我想要匹配不在行尾的abc。

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

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

/abc(?!$)/

(?!$)是一个negative lookahead.它会寻找任何没有直接后跟一个$(结束行)的abc匹配,

经过测试

> abcddee(match)
> dddeeeabc(no match)
> adfassdfabcs(match)
> fabcddee(match)

将其应用于您的案件:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读