> It's the unexpected that I'm thinking about. How do you make > it so that it will match anything other than your token? This > doesn't seem to work: > > regex = Regexp.new( > "(?m:" << tokens.map { |t| > Regexp::escape(t) > }.join("|") << "|.*)" > ) > scan(regex) Try /./ instead of /.*/. Unexpected stuff will come at you one character at a time, which may or may not be ok. Otherwise you can be more creative in your Regexps. For example, if all you are interested in are patterns like "some_var = some_thing_else", then end your token list with something like /[^a-zA-Z0-9_=]*/. If you want white space, then include white space in your list of tokens. -- -- Jim Weirich / Compuware -- FWP Capture Services -- Phone: 859-386-8855