有人可以告诉我一个正确的语法。完整的字符串应仅由每个模式中的数字、字符和空格组成,类型除外。类型和一个参数是强制性的。前后的空格>
:
是强制性的。后面的空格,
是强制性的。几个参数和节点是可选的。
GOOD
type : param
type : par am, para m > no de
type : param > node
type : param, param2 > node
type : param, param2, param3 > node
NOTGOOD
type: <<< no param
type: param <<< because no whitespace after type
type : param, <<< , to much
type : param, param, > node <<< 1 , after second param to much
type : param, param >> node <<< 1 > to much
这就是我现在所拥有的:
^(?<type>(\w+(\s)*))\s+:\s+(?<params>.+\S*?)(?<node>\s+>\s+(\w|\s)*?)*$