Heim  >  Artikel  >  Web-Frontend  >  Wie erfasst man mehrzeiligen Text in JavaScript mit regulären Ausdrücken?

Wie erfasst man mehrzeiligen Text in JavaScript mit regulären Ausdrücken?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 11:00:02531Durchsuche

How to Capture Multiline Text in JavaScript with Regular Expressions?

Feinabstimmung des mehrzeiligen Regex-Abgleichs in JavaScript

Beim Versuch, mehrzeiligen Text mithilfe regulärer Ausdrücke in JavaScript abzugleichen, ist dies die Standardeinstellung Das Verhalten schließt Zeilenumbrüche aus, wodurch es schwierig wird, Blöcke zu erfassen, die sich über mehrere Zeilen erstrecken. Dies kann frustrierend sein, insbesondere wenn das „m“-Flag (mehrzeiliger Abgleich) das Problem nicht löst.

Die Lösung liegt in der Verwendung der Zeichenklasse [sS] innerhalb der Regex. Dies entspricht allen Zeichen, einschließlich Zeilenumbrüchen, sodass Sie Text, der sich über mehrere Zeilen erstreckt, genau erfassen können.

Codefragment:

<code class="javascript">var ss = "<pre class="brush:php;toolbar:false">aaaa\nbbb\nccc
ddd"; var arr = ss.match(//gm); alert(arr); // "<pre class="brush:php;toolbar:false">.... :)"

Wichtige Punkte zu Bedenken Sie:

  • Vermeiden Sie die Verwendung von (.|[rn]) als Ersatz für . im mehrzeiligen Matching.
  • Verwenden Sie [sS] anstelle von . für eine effizientere und genauere Zuordnung.
  • Üben Sie Zurückhaltung bei der Verwendung von贪婪量词(如或 ),考虑使用?或 ?以提升性能。
  • Obwohl [^] kann Wird für den mehrzeiligen Abgleich verwendet, gilt es als veraltet.

Denken Sie daran, dass Sie durch die Nutzung der Zeichenklasse [sS] und das Üben einer sorgfältigen Regex-Konstruktion effektiv Text erfassen können, der sich über mehrere Zeilen in JavaScript erstreckt.

Das obige ist der detaillierte Inhalt vonWie erfasst man mehrzeiligen Text in JavaScript mit regulären Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn