Ruby 1.8.6 with Oniguruama installed and working (everywhere else, this
seems to be my problem).
Let me preface this by saying that I am new to Ruby (and kinda jumped
in, rather than learning it properly), and regexes are not my thing -
that why I have nifty regex-checkers.
I am trying to extract some parts out of a string
("
‘Algebra’
") that I scraped from some html. I’m getting
nil returned from the expression:
Oniguruma::ORegexp.new("(?<=
’).*(?=’
)").scan(scraped_html)
with scraped_html being the string mentioned above.
Doing some experimenting, I have found that the first part works just as
planned (eg, everything except the lookahead). Using wildcards (. and
*) works as well:
Oniguruma::ORegexp.new("(?<=
’).*(?=.)").scan(scraped_html)
returns [#<MatchData “Foo’<br”>, #<MatchData “Bar’<br”>], as
expected. However, anything else (<, b, \w, etc.) causes the regex to
not match.
I am quite befuddled about this, though I (almost certainly) know it is
my fault. Any help would be much appreciated.
Also, if I am violating any mailing-list netiquette, I would like to
know as well.