Das Ersetzen von Javascript-Regex führt zu einem unerwarteten Ergebnis

B-and-P

Ich habe dieses seltsame Problem, hoffe, dass jemand erklärt, was los ist.

Meine Absicht ist es, den Textteil (az, Bindestrich, Unterstrich) zu erfassen und die numerischen Werte von idund van ihn getrennt anzuhängen .

Mein Code:

var str_1 = 'foo1_2';
var str_2 = 'foo-bar1_2';
var str_3 = 'foo_baz1_2';
var id = 3;
var v = 2;
str_1 = str_1.replace(/([a-z_-]+)\d+/,'$1' + id + '_' + v);
str_2 = str_2.replace(/([a-z_-]+)\d+/,'$1' + id + '_' + v);
str_3 = str_3.replace(/([a-z_-]+)\d+/,'$1' + id + '_' + v);

$('#test').html(str_1 + '<br>' + str_2 + '<br>' + str_3 + '<br>');

Erwartetes Ergebnis:

foo3_2
foo-bar3_2
foo_baz3_2 

Tatsächliche Ergebnis:

foo3_2_2
foo-bar3_2_2
foo_baz3_2_2

Irgendwelche Ideen?

JS Fiddle Beispiel

Spitze

Dein Muster:

/([a-z_-]+)\d+/

stimmt nur mit "foo1" in "foo1_2" überein, und "foo" ist der Wert der erfassten Gruppe. Die .replace()Funktion ersetzt den Teil der Quellzeichenfolge, der tatsächlich abgeglichen wurde, und lässt den Rest in Ruhe. Somit wird "foo1" durch "foo3_2" ersetzt, aber das ursprüngliche nachfolgende "_2" ist auch noch vorhanden.

Wenn Sie die gesamte Zeichenfolge ändern möchten, muss Ihr regulärer Ausdruck alles in den Quellzeichenfolgen berücksichtigen.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Das Ersetzen einer Liste durch Werte in Sympy führt zu einem unerwarteten Ergebnis

Die Methode zum Ersetzen von Zeichenfolgen in Pandas führt zu einem unerwarteten Ergebnis

Das Hinzufügen von char als int führt zu einem unerwarteten Ergebnis

Das Aufrufen eines externen Prozesses von Groovy/Java führt zu einem unerwarteten Ergebnis

Das Verteilen eines Arrays innerhalb eines Objekts führt zu einem unerwarteten Ergebnis - Javascript

Das Akzeptieren von mehr als einem Wert für mehr als ein Argument führt zu einem unerwarteten Ergebnis

Das Iterieren mit einer Goroutine führt zu einem unerwarteten Ergebnis

Das Finden des nächsten Wertes im Vektor führt zu einem unerwarteten Ergebnis

Das Umkehren einer negativen Ganzzahl führt zu einem unerwarteten Ergebnis

Das Teilen der OpenCV-Matte führt zu einem unerwarteten Ergebnis

Das Finden des min-Elements mit .index() führt zu einem unerwarteten Ergebnis

Die Verkettung von Strings in gawk führt zu einem unerwarteten Ergebnis

Die Ausgabe von Python-Code führt zu einem unerwarteten Ergebnis

Carbon: Der Vergleich von Datumsinstanzen führt zu einem unerwarteten Ergebnis

Warum führt "+ =" zu einem unerwarteten Ergebnis in SSE Instrinsic?

Operation mit "%" führt zu einem unerwarteten Ergebnis

Der Zeigerbetrieb führt zu einem unerwarteten Ergebnis

Regex EOL durch Perl ersetzen führt zu unerwarteten Ergebnissen

Das Umwandeln von "f32 :: MAX" in "u128" führt zu einem unerwarteten Wert

Die Addition von JavaScript führt zu einem seltsamen Ergebnis

Das Hochladen einer Datei (Bild) mit der Methode .put() in den Firebase-Speicher führt zu einem unerwarteten Ergebnis

Das Ändern der Hintergrundfarbe eines div im Click-Ereignis führt zu einem unerwarteten (oder wird es erwartet?) Ergebnis

Das Aktualisieren einer schwebenden Pandas-Nummer basierend auf dem Wert führt zu einem unerwarteten Ergebnis

Das Ersetzen der Python-Zeichenfolge in einer Datei führt jedes Mal zu einem anderen Ergebnis

Das Festlegen der Unterklasseneigenschaft führt zu einem unerwarteten Fehler

Das Untermengen eines Datenrahmens führt zu einem unerwarteten Verhalten

Das Abschneiden von swprintf führt zu einer unerwarteten Ausgabe

Das Summieren von Datenrahmenspalten führt zu einer unerwarteten Ausgabe

Das Festlegen von HttpRequestMessage.Content (json) für Post-SendAsync führt zu einem unerwarteten Zeichenfehler

TOP Liste

  1. 1

    Hangfire funktioniert nicht wie erwartet mit ASP.NET Core 3.1

  2. 2

    Konvertiert nicht von Methodengruppe in Func <int>

  3. 3

    Wie berechnet man den Gesamtpreis einer Bestellung mit Rails?

  4. 4

    Identifizieren Sie die Werte der ersten Spalte pro ID und arbeiten Sie basierend auf diesem Wert

  5. 5

    Konvertieren Sie eine Textdatei mit mehreren Trennzeichen in CSV

  6. 6

    So greifen Sie auf eine Variable in einer Singleton-Klasse zu, die von einem Modul in Play 2.5 Scala verwendet wird

  7. 7

    So aktualisieren oder aktualisieren Sie alle Fragmente vom Viewpager Android

  8. 8

    Wie implementiere ich die "equals" -Methode für Generika mit "instanceof"?

  9. 9

    Probleme beim numerischen Integrieren einer multivariablen Funktion WRT einer einzelnen Variablen in Julia (mit hcubature)

  10. 10

    Was ist die idiomatischste Rust-Methode, um ein optionales Element eines Vec bedingt zu ändern?

  11. 11

    Printf gibt Zeichen aus, die über die angegebene Länge des Arrays hinausgehen

  12. 12

    So installieren Sie ein privates NPM-Paket über SSH

  13. 13

    findOneAndUpdate mit Push-Array-Elementen gibt Fehler im Mungo

  14. 14

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  15. 15

    Verwendung eines Winkelmessers für Leistungstests

  16. 16

    Wie erstelle ich ein Objekt für ein Django-Modell mit vielen zu vielen Feldern?

  17. 17

    Beziehungen auf zusammengesetzten Schlüsseln mit sqlalchemy

  18. 18

    c # itextsharp absolute Textposition mehrzeilig

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Sind die folgenden 3 Möglichkeiten, Objekte zu definieren, identisch?

  21. 21

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

heißlabel

Archiv