regex - 匹配字符串中的 url 路径和 IP 地址

标签 regex ruby

如何匹配字符串的两个部分?

示例字符串:

/some/page_path 255.122.212.211

我想要匹配的第一部分是有效路径,简单检查是否以/开头并且没有空格。 (也许还有特殊标志?)

第二部分只是检查 IP 地址是否具有 (0-9) 带点数字的模式。

错误字符串示例:

/some/page _path 2525.122.212 yada yada

我的 IP 正则表达式:

^(?:[0-9]{1,3}\.){3}[0-9]{1,3}

最佳答案

你可以使用

/\A(?:\/[^\/\s]+)+\s+(?:[0-9]{1,3}\.){3}[0-9]{1,3}\z/

请参阅Rubular demo详细信息:

  • \A - 字符串开头
  • (?:\/[^\/\s]+)+ - 出现一次或多次 /,然后出现一个或多个除 之外的字符/ 和空格
  • \s+ - 一个或多个空白字符
  • (?:[0-9]{1,3}\.){3}[0-9]{1,3} - 出现 3 次一到三位数字,后跟. 字符,然后是一到三位数字
  • \z - 字符串结尾。

关于regex - 匹配字符串中的 url 路径和 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69424021/

相关文章:

javascript - 正则表达式字符串开始/结束/中间一次匹配

javascript - JavaScript 中日期验证的正则表达式

regex - 如何在 vi 中删除与正则表达式匹配的行?

arrays - 在 Ruby 的哈希数组中找到最大值

ruby-on-rails - ruby on rails教程第3.2节rspec测试报错

ruby-on-rails - Rails,通过向 Controller 添加自定义方法来将数据添加到关联表

python-3.x - 正则表达式 - 计算单词中大写字母的数量

php - 使用或不使用协议(protocol)验证 URL

ruby - 如何从另一个 rspec 测试中调用 rspec 测试

ruby-on-rails - Rails with angular 与 Rails pure(查看性能)