Forum: Ruby using regexp in Ruby/TkText search

6d0b340e28174f4bd1bfda492f025825?d=identicon&s=25 Roger F. (roger_f)
on 2014-08-10 10:10
This works (not using an RE):

p1 = $analysis.search("the", '1.0', stopindex='end')

I want to use a regular expression in the search:

p1 = $analysis.search("[a-z][A-Z]", '1.0', stopindex='end',
regexp='True')

but that fails "in `search': wrong number of arguments (4 for 2..3)"

The equivalent line that works fine in Python/TkText is:

p1 = st.search("[a-z][A-Z]", '1.0', stopindex=END, regexp=True)

My question: how do I specify I am using a regular expression when
searching a Ruby TkText box. Thanks.
4a65f01f7ece0b720bdb0de3c3db089e?d=identicon&s=25 Dansei Yuuki (blutorange)
on 2014-08-10 11:33
I haven't worked with Tk yet, but taking a look at the docs,
http://www.ruby-doc.org/stdlib-2.1.2/libdoc/tk/rdo...,
I think you should just let ruby handle whatever you throw at it. We can
use the class or kind_of? method in ruby to check the type of an object.
Try

> $analysis.search(/my_regexp/, '1.0', 'end')

Search seems to use String#index, which accepts both Strings and
Regexps. Regexp are written betweeen slashes in ruby.
http://www.ruby-doc.org/core-2.1.1/Regexp.html
6d0b340e28174f4bd1bfda492f025825?d=identicon&s=25 Roger F. (roger_f)
on 2014-08-10 11:36
That works perfectly. Thank you!
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.