IP 地址的 Ruby 正则表达式

标签 ruby regex

它没有按预期工作。在我的期望中,只有第二个版本应该成功。我期望与任何其他编程语言中的行为相同。

irb(main):071:0> "10.0.0.62" =~ /^10\.1*/
=> 0
irb(main):072:0> "10.0.0.62" =~ /^10\.*/
=> 0

我读了this .

最佳答案

In my expectations only the second version should succeed.

不,因为你在 1 旁边添加了 * 这意味着 1 可能出现零次或多次,即 * 重复前一个标记零次或多次次。所以第一个例子必须返回 true。

\.* 重复文字点零次或多次。所以这个 ^10\.* 正则表达式将匹配 10, 10., 10......

关于IP 地址的 Ruby 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33250964/

相关文章:

ruby - `[]' : can't convert String into Integer (TypeError)

ruby-on-rails - Ruby - 我们可以在类中的任何地方使用 include 语句吗?

regex - 如何在路径中扩展波浪号 (~)

regex - 不使用匹配组的多个字符类的列表运算符

javascript - 如何只保留第一个独特的正则表达式匹配?

ruby-on-rails - 如何解决 "Missing ` 环境的错误 'production' secret_key_base`(Rails 4.1)

ruby-on-rails - Rails 应用程序需要每月执行一次任务

arrays - 从另一个数组创建一个数组

java - 正则表达式还是异常处理?

r - 如何检索字符串中的所有数字并使用正则表达式将它们组合成一个数字?