私はRails 5を使用しています。任意の数値の文字列、オプションのスペース数、文字列の配列からのトークン、オプティナルなスペース数、および任意の数の数字の文字列を置き換えたい。したがって、たとえば、これは文字列から正規表現を選択するように指示するにはどうすればよいですか?
123/2221111
またはこの
102849/222
....私のパターンにマッチしますので、私は私の正規表現は
re = /\d+[[:space:]]*[#{Regexp.union(TOKENS)}][[:space:]]*\d+/
あるべきと思ったけど、次は何かをマッチングされますそれは基準に合わない...
2.4.0 :015 > re = /\d+[[:space:]]*[#{Regexp.union(TOKENS)}][[:space:]]*\d+/
=> /\d+[[:space:]]*[(?-mix:of|\/)][[:space:]]*\d+/
2.4.0 :016 > TOKENS
=> ["of", "/"]
2.4.0 :017 > name = "10F 2017"
=> "10F 2017"
2.4.0 :018 > name.gsub!(re, '#')
=> "#"
文字列 "10F 2017"にはTOKENS配列の文字列が含まれていないため、正しく機能しません。どのように正規表現を書き直して、自分が望むものと一致するようにするのですか?など(
、?
からm
までの文字、i
、?
とm
試合の間の範囲:文字クラスに#{Regexp.union(TOKENS)}
を囲むことで
デイブを参照してください、 '[(-Mix:の| \ /?)]'単一文字と一致します( ''、 '?'から 'm 'までの範囲(すなわち多くの文字、すべてのASCII大文字のもの)、' i'など。 '['と ']'を削除します。 –