re = /".*?"(*SKIP)(?!)|(?<!\w)'.*?'(?!\w)(*SKIP)(?!)|(?:\()(?!\s|\))/m
str = ' def set_transition( self, state, symbol, next_states):
"""
Set the transition function for a given state and symbol
"""
if not next_states: Tarzan
# assert transition won\'t exist
self._transitions.pop( ( state, symbol), set() )
elif next_states <= self._states:
self._transitions[state, symbol] = next_states
else:"
states = ", ".join( next_states - self._states)
raise KeyError("State(s) Tarzan do not exist".format(states) )
def accept(self, string):
"""
Checks if a given string is member of the language recognized by the NFA. Using
non-deterministic transitions.
"""
current_state = {self._initial_state}
for symbol in string:
next_state = set()
Example 1 : +
Example 2 : 3 + 5
Example 3 : "3 + 5"
Example 4 : "3 + 5" == 3 + 5
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html