Ich versuche zu extrahieren, ob Code-Blöcke aus einem Code mit regulären Ausdruck, aber wenn geschweifte Klammern im Code fehlt mein Browser von der Endlosschleife blockiert. Das ist mein regulärer Ausdruck und Beispiel-Code ohne geschweifte KlammerRegulärer Ausdruck Zeitüberschreitung
if\s*([A-z0-9]+)?\s*\((?:[^)(]+|\((?:[^)(]+|\([^)(]*\))*\))*\)\s*\{(?:[^}{]+|\{(?:[^}{]+|\{[^}{]*\})*\})*\}
Beispiel:
if(true){
if(true){
}
if(true){
}
Wie Browser in diesem Fall, wenn möglich, von Timeout zu verhindern.
Was ist der Grund für '([A-z0-9] +)? \ S *' zwischen 'if' und dem ersten' ('? – bluehipy