str.match
wird ein Array mit übereinstimmenden Elementen, nicht eine einzige Zeichenfolge zurückgeben. Deshalb schlägt .replace
fehl. Eine schnelle Lösung wäre [0]
hinzuzufügen wie so auf dem ersten Array-Elemente zu ersetzen: str.match(/return \w+;/g)[0].replace(/return/,"")
Doch diese false;
zurückkehren wird (nicht genau das, was Sie wollen), und es wird fehlschlagen, wenn es überhaupt keine Übereinstimmung ist: „Nicht abgefangene Typeerror : Kann lesen Eigenschaft nicht ‚0‘ von null“
Eine bessere Möglichkeit, Einfanggruppen mit geklam- mert zu verwenden wäre:
var str= "abc { return false;}"
var re = /return (\w+);/g
var results = re.exec(str);
das Ergebnis ist wieder ein Array mit dem ersten Element das komplette Spiel zu sein, die zweite Element ist die erste Erfassungsgruppe: ["return false;", "false", index: 6, input: "abc { return false;}"]
Ich nehme an, möchten Sie entfernen (ersetzen) den ganzen Inhalt in geschweiften Klammern '{' '}', oder? – RomanPerekhrest
Ich möchte "falsch" in den geschweiften Klammern bekommen –
dann was ist '.replace (/ return /," ")' für? Es wird das Wort "return" aus der Zeichenfolge entfernen – RomanPerekhrest