0

我正在寻找一个简单的 ruby​​ reg ex 来匹配三个字符中的一个且仅一个。例如:“a”或“b”或“c”但不是“ab”、“ac”等。

根据 rubular.com,我尝试过的 /[abc]/ 或 /a|b|c/ 不起作用,因为它们也匹配“ab”、“ac”等。我也尝试过使用 ^ 和 $ 放置,但没有奏效。

我是红宝石新手,一定缺少一些简单的东西。请帮忙。谢谢!

4

2 回答 2

1
[1] pry(main)> "a" =~ /^[a-c]$/
=> 0
[2] pry(main)> "ac" =~ /^[a-c]$/
=> nil

但是,==如果您特别需要匹配单个字符,为什么不直接使用呢?如果您需要对角色一些事情,您可以将所有内容全部汇总并完全跳过正则表达式。

于 2012-07-30T18:24:40.263 回答
0

如果你想要的只是捕获重复相同字符的字符串,你可以尝试这样的事情

^([a]+|[b]+|[c]+)$

于 2012-07-30T18:22:54.977 回答