ruby - 匹配不包含特定单词的字符串

标签 ruby regex match

我正在使用 ruby​​ 和 match 方法,我想用正则表达式匹配一个不包含特定字符串的 URL: 例如:

http://website1.com/url_with_some_words.html
http://website2.com/url_with_some_other_words.html
http://website3.com/url_with_the_word_dog.html

我想匹配不包含单词dog的URL,所以应该匹配第一个和第二个

最佳答案

只需使用否定前瞻 ^(?!.*dog).*$

解释

  • ^ : 匹配行首
  • (?!.*dog) :否定前瞻,检查单词 dog 是否不存在
  • .* :匹配所有内容(本例中的换行符除外)
  • $ : 匹配行尾

Online demo

关于ruby - 匹配不包含特定单词的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653942/

相关文章:

java - 使用正则表达式匹配Java中的一位小数

mysql - 根据mysql中其他表中的匹配值更新列

Javascript:需要正则表达式将字符串拆分为数组,保留小数点和引号不变

ruby - 哪个是 ANTLR 在 ruby​​ 中创建解析器的最佳对应物?

sql - 运算符不存在 : timestamp without time zone ~~* unknown ruby code

html - 用户在 RoR 站点中提交的内部链接

html - 正则表达式捕获分隔符之间的字符串并排除它们

Ruby:使用默认值在 Excel 中创建下拉列表

JavaScript REGEX 负向前瞻混淆

javascript - 如何验证具有正则表达式和一些可接受值的文本字段的值 "0"或 "00"或 "000"