RegEx/CNC/GCode.regex.txt
# Matches GCode Instructions (?-i)(?m)^\s{0,} # Optional Whitespace after any newline # Will match either a (?> \;(?<Comment>(?:.|\s){0,}?(?=\z|[\r\n])) # Literal ;, followed by anything until the next newline ? | (?<Instruction>(?<Letter>[\%A-Z])(?<Number>\d+)) # An instruction, consisting of a letter and one or more numbers (?(Instruction)((?:\s(?<Argument>[^\;\s]+)){0,})) # Instructions may be followed by one or more arguments, separated by spaces [\s-[\r\n]]{0,} # Match any trailing whitespace (?:\;(?<Comment>(?:.|\s){0,}?(?=\z|[\r\n])))? # Match any trailing comments ) |