ruby - 匹配词尾并且不是 "#"的正则表达式

标签 ruby regex

我的正则表达式当前检测到“ence”后缀:

/ence\b/

但是,我不希望它在 ence# 上匹配。我怎么说“匹配 ence\b,但词尾不能是“#”?

最佳答案

您可以使用否定前瞻:

/ence\b(?!#)/
       ^^^^^

请参阅Rubular demo

详细信息:

  • ence - 文字子字符串
  • \b - 单词边界(因为它前面有单词字符 e,所以下一个字符必须是非单词字符或字符串结尾)
  • (?!#) - 如果当前位置右侧紧邻 #,则表示匹配失败的负向前查找。

关于ruby - 匹配词尾并且不是 "#"的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45223070/

相关文章:

javascript - JS 正则表达式匹配方括号中最后一次出现的数字

javascript - 正则表达式如何取值代理和用户名和号码?

ruby - capybara 的 Appium 驱动程序

ruby-on-rails - 使用脚本/delay_job 创建 delayed_job worker 时出现未定义方法错误

ruby - ruby 中的增量数组,0..40,[10、20、30、40]

python - 提取引号内的所有数据并制作一个列表

regex - 如何从 Scala 中的文本中删除数字?

ruby-on-rails - ruby 正则表达式 : distinguishing between iOS Safari & iOS Chrome

c# - 如何使用 Ruby 将时间从 .net 纪元转换为 Unix 纪元中的时间?

javascript - 使用数组匹配正则表达式