Ich versuche, eine Zeichenfolge Auftreten in einer Abfrage wie folgt zu ersetzen:Kann Zeichenkette nicht mit Regex in Java ersetzen
SELECT * FROM DB WHERE AGE = 3 and NAME = 'VALUE'
Ich verwende diese regex: NAME\s*=\s*'[A-Z]+'
die feine here
arbeitet Folgendes habe ich in Java versucht:
query.replaceAll("NAME\s*=\s*'[A-Z]+'", replacementString); // Gives me Invalid escape sequence message
query.replaceAll("NAME\\s*=\\s*'[A-Z]+'", replacementString);
Pattern pattern = Pattern.compile("NAME*= *'[A-Z]*'");
query.replaceAll(pattern.pattern(), replacementString);
Pattern pattern2 = Pattern.compile("NAME\\s*=\\s*'[A-Z]*'");
query.replaceAll(pattern2.pattern(), replacementString);
Keine dieser Arbeiten.
Wie kann ich das Vorkommen NAME = 'VALUE' ersetzen? diese
Ihre Schrägstriche entkommen: '\\ s *' die „ungültige Escape-Sequenz“ Fehler zu beheben. –
Verwenden Sie zwei Backslashes –
Vorsicht: Stellen Sie sicher, "VALUE" enthält nie '' ', sonst genügt einfache Regex nicht. – bezmax