package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)".*?"(*SKIP)(?!)|(?<!\w)'.*?'(?!\w)(*SKIP)(?!)|(?:\()(?!\s|\))`)
var 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
`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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 Golang, please visit: https://golang.org/pkg/regexp/