2013-03-04 7 views
12

Ich möchte das Muster *1* verwenden. Ich habe versucht \*1\*, aber es funktioniert nicht. Wo ist das Problem?Wie asterisk in regexp zu entkommen?

+0

@Mike Ich weiß nicht, ob Sie das sehen werden, aber danke, dass Sie die Schrägstriche gewechselt haben. Es wurde während der Bearbeitung oder während der Überprüfung in der Warteschlange bearbeitet. –

+1

@jdwire Ja, ich habe es gesehen. Die anderen Änderungen sahen gut aus, also habe ich diesen einen Teil einfach rückgängig gemacht. – Mike

+0

@OHTHATaaronbrown: Tags – user2080105

Antwort

10

Sie haben es mit einem Backslash zu entkommen:

/\*1\*/ 

Ansonsten ein unescaped * in einem RegExp bedeuten: Match 0 oder mehreren der vorhergehenden Character Group.

Update:

Wenn Sie den RegExp Konstruktor verwenden, tun Sie es auf diese Weise:

new RegExp("\\*1\\*") 

Sie haben die Schrägstriche verdoppeln-zu entkommen, weil sie sich in der Zeichenfolge entkommen müssen.

+0

Ich habe meine Frage bearbeitet, aber ja, ich Backslash und es funktioniert nicht – user2080105

+0

Die Schrägstriche markieren den Start und die Ende der Regexp. Sie müssen mit einem Schrägstrich beginnen und mit einem Schrägstrich enden und zwischendurch die Sternchen mit Backslashes verlassen. Genau wie in dem Beispiel, das ich gegeben habe. –

+0

nein, aber ich benutze RegExp Konstruktor, so brauche ich nicht Schrägstrich – user2080105

0

müssen Sie einen Backslash \ als Escape-Zeichen in Regexes verwenden.

+0

Ich habe meine Frage bearbeitet, aber ja, ich Backslash und es funktioniert nicht – user2080105