gsub help

Here's my code

def index
    file = "BLAH-ex201588.doc"
    @file_cut = order.gsub(/[\w [- ! # $ % ^ & * = +]+]+\.doc$/,
'*.doc)
end

The code worked before when I was using Ruby 1.9.1, but now I'm using
Ruby 1.8.7 due to technical reasons. I would imagine that it should
still work, but I doesn't. If I removed the nested brackets and it's
contents, it'll work, but will only cut the string to "BLAH-*.doc"
instead of "*.doc"

Please help.

Thanks,
Anon_comp

I think you should ask this in a Ruby forum. My one cent.

This is absolutely ridiculous lol. This is the second time I've asked
a question and was able to solve it myself. Guess if I just keep
working for another day, I'll eventually get the answer -____-

Thank you all for reading. Don't need help anymore. All I had to do
was remove brakets and escape the speical characters dispite the fact
that documents say that you don't have to escape them.

Anon_comp

Here's my code

def index
file = "BLAH-ex201588.doc"
@file_cut = order.gsub(/[\w [- ! # $ % ^ & * = +]+]+\.doc$/,
'*.doc)
end

The code worked before when I was using Ruby 1.9.1, but now I'm using
Ruby 1.8.7 due to technical reasons. I would imagine that it should
still work, but I doesn't. If I removed the nested brackets and it's
contents, it'll work, but will only cut the string to "BLAH-*.doc"
instead of "*.doc"

ruby 1.9 uses a different regular expression. I think that if you want
to include a - in a character class then it should be the last thing
in it. /[\w ! # $ % ^ & * = +-]+\.doc$ works for me

Fred

How are we supposed to help you when you haven’t told us what this is supposed to do? We could look at it and try to infer patterns and rules from a single example that is not even real data, but we would have to make lots of assumptions that could easily turn out to be false, especially since you’re saying you expected the result to be ‘*.doc’ in the summary at the end. What do you need a regex for at all?

Also you have a syntax error, but it’s easy enough to guess where the string should have been terminated.

You should answer these questions, because, looking at your regex, I doubt it does what you intend it to. And if it does do what you intend it to, it is probably not for the reasons you think.

ruby 1.9 uses a different regular expression. I think that if you want
to include a - in a character class then it should be the last thing
in it. /[\w ! # $ % ^ & * = +-]+\.doc$ works for me

Thanks Fred. This is a lot cleaner than the one I have now.

How are we supposed to help you when you haven't told us what this is
supposed to do? We could look at it and try to infer patterns and rules from
a single example that is not even real data, but we would have to make lots
of assumptions that could easily turn out to be false, especially since
you're saying you expected the result to be '*.doc' in the summary at the
end. What do you need a regex for at all?

Sorry for not being clear, but I thought it was understandable in the
end.

Also you have a syntax error, but it's easy enough to guess where the string
should have been terminated.

Syntax error? You mean my typo at the end of the code? '*doc) when it
should be '*doc') Sorry about that

You should answer these questions, because, looking at your regex, I doubt
it does what you intend it to. And if it does do what you intend it to, it
is probably not for the reasons you think.

I think it does do what I indend for it to do. At least it seems so to
me.

Thanks for replying,
Anon_comp