0

3 つの文字のうちの 1 つだけに一致する単純な ruby​​ 正規表現を探しています。たとえば、「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 に答える