正则表达式在Ruby 1.8.7中找不到匹配项,但在1.9.2中却找到了匹配项

Akki209

我正在尝试验证Ruby中的英国邮政编码。我在stackoverflow上偶然发现了这个正则表达式:

(GIR 0AA)|((([A-Z-[QVX]][0-9][0-9]?)|(([A-Z-[QVX]][A-Z-[IJZ]][0-9][0-9]?)|(([A-Z-[QVX]][0-9][A-HJKSTUW])|([A-Z-[QVX]][A-Z-[IJZ]][0-9][ABEHMNPRVWXY])))) [0-9][A-Z-[CIKMOV]]{2})

它在Ruby 1.9.2和2.0.0中工作得很好(请参阅http://rubular.com/r/GKgLdIFvNJ),但是我正在使用1.8.7。我能做些什么?

任何建议,将不胜感激。谢谢!

您在哪里找到这个表达?我认为它不是为Ruby编写的。

Ruby不支持字符类减法。因此1.9.2接受[AZ- [QVX]]但未按预期工作这些字符从char类中排除(请参阅rubular,QVX仍然匹配)

1.8.7完全接受该表达式。

您必须像这样重写所有这些字符范围:

[A-Z-[QVX]] 变成 [A-PR-UWYZ]

见卢布

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“ 00000000000000000000000000000”匹配正则表达式“ ^ [1-9] | 0 $”

来自分类Dev

使用正则表达式匹配8或9位数字

来自分类Dev

VBA | 正则表达式 | 匹配字符串中的小数字符(例如 1/8、3/8)

来自分类Dev

Ruby正则表达式匹配

来自分类Dev

正则表达式“ ^ [A-Za-z] {2} [1-9] {2}。*”中的点是什么?

来自分类Dev

Java正则表达式找不到匹配项

来自分类Dev

正则表达式代码找不到匹配项

来自分类Dev

正则表达式匹配cond1或匹配cond2在单个命令中

来自分类Dev

组1不匹配每个正则表达式

来自分类Dev

为什么javascript中的此正则表达式仍允许使用特殊字符[a-zA-Z1-9]?

来自分类Dev

Python正则表达式命名组(0或1个匹配项)

来自分类Dev

1组正则表达式匹配项的matchAll数组

来自分类Dev

为什么我的正则表达式匹配项没有设置$ 1?

来自分类Dev

正则表达式匹配 1Y 但不匹配 Javascript 中的 1YY

来自分类Dev

在简单的正则表达式中找不到匹配项

来自分类Dev

如果在函数中定义了正则表达式,则找不到匹配项

来自分类Dev

正则表达式表达式匹配等于或大于1,以.5为增量

来自分类Dev

正则表达式中$ 1和$&之间的差异

来自分类Dev

在正则表达式替换中投射 $1

来自分类Dev

Java 中用于匹配 C 10 10 或 L 1 2 6 2 或 R 14 1 8 3 的正则表达式

来自分类Dev

使用正则表达式获取多个匹配项以1或2位数字,点和空格开头

来自分类Dev

正则表达式1-31 Ruby

来自分类Dev

正则表达式1-31 Ruby

来自分类Dev

在Ruby中的正则表达式匹配项上插入字符串

来自分类Dev

Javascript正则表达式/ ^(19 | 20)([0-9] {2})-([0-9] {2} | 0 [0-9] {1})-([0-9] {2} | 0 [0-9] {1})$ / g未找到日期作为输入值

来自分类Dev

正则表达式2合1进行评论

来自分类Dev

正则表达式2合1进行评论

来自分类Dev

如何使用正则表达式删除/ 1或/ 2?

来自分类Dev

正则表达式在Ruby中的句子中找到'a'或'an'

Related 相关文章

  1. 1

    “ 00000000000000000000000000000”匹配正则表达式“ ^ [1-9] | 0 $”

  2. 2

    使用正则表达式匹配8或9位数字

  3. 3

    VBA | 正则表达式 | 匹配字符串中的小数字符(例如 1/8、3/8)

  4. 4

    Ruby正则表达式匹配

  5. 5

    正则表达式“ ^ [A-Za-z] {2} [1-9] {2}。*”中的点是什么?

  6. 6

    Java正则表达式找不到匹配项

  7. 7

    正则表达式代码找不到匹配项

  8. 8

    正则表达式匹配cond1或匹配cond2在单个命令中

  9. 9

    组1不匹配每个正则表达式

  10. 10

    为什么javascript中的此正则表达式仍允许使用特殊字符[a-zA-Z1-9]?

  11. 11

    Python正则表达式命名组(0或1个匹配项)

  12. 12

    1组正则表达式匹配项的matchAll数组

  13. 13

    为什么我的正则表达式匹配项没有设置$ 1?

  14. 14

    正则表达式匹配 1Y 但不匹配 Javascript 中的 1YY

  15. 15

    在简单的正则表达式中找不到匹配项

  16. 16

    如果在函数中定义了正则表达式,则找不到匹配项

  17. 17

    正则表达式表达式匹配等于或大于1,以.5为增量

  18. 18

    正则表达式中$ 1和$&之间的差异

  19. 19

    在正则表达式替换中投射 $1

  20. 20

    Java 中用于匹配 C 10 10 或 L 1 2 6 2 或 R 14 1 8 3 的正则表达式

  21. 21

    使用正则表达式获取多个匹配项以1或2位数字,点和空格开头

  22. 22

    正则表达式1-31 Ruby

  23. 23

    正则表达式1-31 Ruby

  24. 24

    在Ruby中的正则表达式匹配项上插入字符串

  25. 25

    Javascript正则表达式/ ^(19 | 20)([0-9] {2})-([0-9] {2} | 0 [0-9] {1})-([0-9] {2} | 0 [0-9] {1})$ / g未找到日期作为输入值

  26. 26

    正则表达式2合1进行评论

  27. 27

    正则表达式2合1进行评论

  28. 28

    如何使用正则表达式删除/ 1或/ 2?

  29. 29

    正则表达式在Ruby中的句子中找到'a'或'an'

热门标签

归档