Regular Expressions 101

Community Patterns

LC-2200 parser

1

Regular Expression
PCRE (PHP <7.3)

/
^[ \t]*(?:(?<label>[a-zA-Z0-9_]+):[ \t]*)? (?: (?<op>[a-zA-Z0-9_\.]+) (?: (?: (?: [ \t]* (?: (?<h0>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8}) | (?<o0>[-+]?[0oO][0-7]+) | (?<b0>[-+]?[0oO]?[bB][01]{1,32}) | (?<l0>[a-zA-Z0-9_]+) | (?<d0>[-+]?\#?\d+) ) [ \t]* (?:\((?<r0b>\$[a-zA-Z0-9_]{2,5})\))?[ \t]* ) | [ \t]*(?<r0>\$[a-zA-Z0-9_]{2,5})[ \t]* (?: (?: ,[ \t]* (?: (?<d1>[-+]?\#?\d+) | (?<h1>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8}) | (?<o1>[-+]?[0oO][0-7]+) | (?<b1>[-+]?[0oO]?[bB][01]{1,32}) | (?<l1>[a-zA-Z0-9_]+) ) [ \t]* (?:\((?<r1b>\$[a-zA-Z0-9_]{2,5})\))?[ \t]* ) | ,[ \t]*(?<r1>\$[a-zA-Z0-9_]{2,5})[ \t]* (?: (?: ,[ \t]* (?: (?<d2>[-+]?\#?\d+) | (?<h2>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8}) | (?<o2>[-+]?[0oO][0-7]+) | (?<b2>[-+]?[0oO]?[bB][01]{1,32}) | (?<l2>[a-zA-Z0-9_]+) ) [ \t]* (?:\((?<r2b>\$[a-zA-Z0-9_]{2,5})\))?[ \t]* ) | ,[ \t]*(?<r2>\$[a-zA-Z0-9_]{2,5})[ \t]* )? )? )? )? )? (?<pseudo_op> \. (?<name>[a-zA-Z]+) [ \t]* (?<arg> (?<hp0>[-+]?[0oO]?[xX][a-fA-F0-9]{1,8}) | (?<bp0>[-+]?[0oO]?[bB][01]{1,32}) | (?<op0>[-+]?[0oO][0-7]+) | (?<dp0>[-+]?\#?\d+) | (?<lp0>[a-zA-Z0-9_]+) ) [ \t]* )? (?:[ \t]*(?<comment>[!;].*)?) $
/
gxm

Description

recognizes the various parts of the LC-2200 language.

Submitted by Chris Ottersen - 8 years ago