2016-09-12 1 views
0

ich einen String Parsen, die wie folgt aussieht:Javascript Reguläre Ausdrücke - mit * mit mehreren Charakteren

int num 1, num2, num3; 

//do some other stuff 

In betwee dieser Linien gibt es ein \ r \ n. Ich versuche, \ r \ n mit einfach \ n zu ersetzen, und ich habe das funktioniert gut, aber ich möchte, dass es nach mehreren Kopien von/r/n in Folge sucht. Mit anderen Worten:

/r </n -

/r/n/r/n < gefunden - dies auch

gefunden

/r/r/n/n/n < - dies ist nicht

Hier finden ist meine aktuelle Aussage:

MyData.replace (/(/r|/n)*/g, "someStuff"); 

kennen Sie irgendeine Art und Weise, wie das Zeichen * zu machen, um mehrere Zeichen gelten, so dass ich COUL d Suche nach Wiederholungen von "/ r/n" * statt (/ r |/n) *, die entweder/r oder/n beliebig oft findet. Diese

+1

'(\ r \ n) *'? ........... – zerkms

+1

Ähm, '(\ r \ n) *'? – vlaz

+0

Gibt es Zeichen in den Daten, die Sie beibehalten möchten? Hast du '(\ r \ n) *' versucht? – symcbean

Antwort

3

:

(\r\n)+ 

Das Plus für ein oder mehrere Male.

Oder diese:

/(\r\n)/g 

Die g Matches alle Vorkommen der Zeichenfolge

Abhängig von Ihrem Bedarf oder tatsächliche Code, wenn Sie es veröffentlichen können.

+1

Danke, das hat es geschafft. Ich war nicht sicher, ob Klammern zum Einkapseln mehrerer Zeichen oder nur für eine OR-Anweisung verwendet werden könnten. –

Verwandte Themen