-1
[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]

二重引用符は使用できません%q<symbol>string<symbol>。可能なすべての記号が含まれているため使用できません (少なくとも使用する必要があります)。

4

6 に答える 6

2
irb(main):001:0> '[^\s!"#$%&\'()*+,\-./:;<=>?\[\\\\\\]^_`~]'
=> "[^\\s!\"\#$%&'()*+,\\-./:;<=>?\\[\\\\\\]^_`~]"

エスケープの引用.

irb(main):012:0* <<'eos'.chomp
irb(main):013:0' [^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]
irb(main):014:0' eos
=> "[^\\s!\"\#$%&'()*+,\\-./:;<=>?\\[\\\\\\]^_`~]"
于 2013-06-15T19:36:43.657 に答える
1

以下でも動作します

%q{[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]}
#=> "[^\\s!\"\#$%&'()*+,\\-./:;<=>?\\[\\\\]^_`~]"

また

s = %q<[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]>
s # => "[^\\s!\"\#$%&'()*+,\\-./:;<=>?\\[\\\\]^_`~]"
于 2013-06-15T19:47:04.737 に答える
1

「HEREDOC」をご利用いただけます

my_string = <<-eos.gsub(/\s+/,'')
   [^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]
eos

Ruby 2.0、正常に動作しています。

于 2013-06-15T19:39:52.673 に答える
0

x = '[^\s!"#$%&\'()*+,\-./:;<=>?\[\\\]^_`~]'

しかし、正規表現を定義したくありませんか?

于 2013-06-15T19:36:41.203 に答える