export function capture(s: string) { return "("+s+")"; } export function nonCapture(s: string) { return "(?:"+s+")"; } export function zeroOrOne(s: string) { return "(?:"+s+")?"; } export function zeroOrMore(s: string) { return "(?:"+s+")*"; } export function OneOrMore(s: string) { return "(?:"+s+")+"; } export function startOfLine() { return "^"; } export function endOfLine() { return "$"; } export function or(...ops: string[]) { return ops.join("|"); } export function text(s: string) { let result = ""; for(let t=0;t