我可以列出与正则表达式不匹配的所有字符吗?

时间:2018-05-29 07:16:53

标签: ruby regex

我有一个包含不同范围的正则表达式,例如a-f&-9。有没有办法列出这个范围内的所有字符,或者换句话说,不包含的字符?我想为我的正则表达式允许的每个字符编写一个规范。

1 个答案:

答案 0 :(得分:1)

有关此事:

(0..0x02FFFF).each do |codepoint|
  begin
    character = codepoint.chr(Encoding::UTF_8)
    # .... Test your regexp here
  rescue RangeError
    # Ignore gaps in codepoint
  end
end

正如@Stefan在评论中所说:你会用这个来测试相当多的角色......

BUG FIXED,感谢Stefan

FIXED:处理Unicode代码点范围中的间隙。请注意,我在解决方案中省略了Unicode平面3-16。