2009-04-27 17 views
1

Ich versuche, mit einem Regex zu kommen, um das Zeichen # zu behandeln.Regex mit ungewöhnlichen Zeichen

Beispiel, # PRODUCT_143 #

Wenn der Eingang waren # PRODUCT_143, die Regex #PRODUCT_(\d*$) Spiele und liefert 143 als das Spiel. Aber das Hinzufügen des # an das Ende der Eingabe und der Regex bewirkt, dass es bricht. Was muss ich hier tun, damit dies zusammenpasst?

Antwort

4

Wenn Sie #PRODUCT_(\d*$)# ausprobiert haben, ist es keine Überraschung, dass es keine Übereinstimmung gefunden hat. Da die $ bereits das Ende der Zeichenkette und die # markiert, nachdem es nie angepasst wird.

Also versuchen Sie stattdessen:

#PRODUCT_(\d*)#$ 
1

Es sollte nichts kaputt machen, vielleicht vergessen Sie haben die $ in der Regex zu bewegen, das Ende der Zeile bedeutet? Diese Regex sollte in Ordnung sein:

#PRODUCT_(\d*)#$ 

(Ich bin mir nicht sicher, warum Sie das Ende der Zeile in Ihrem ursprünglichen Regex Erfassung wurden).

1

Haben Sie gerade vergessen, die $ aus der Klammer zu bewegen?

 
    ^#PRODUCT_([0-9]*)#$ 

Notiere die hinzugefügt ^ - kann es für Ihre Eingabe ist nicht richtig.

1

Die $ wahrscheinlich als die End-of-line-Spiele, so dass Ihre persönliche # verwirrend ist es:

#PRODUCT_(\d*)#$ 
Verwandte Themen