aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/fehler/bad_regexp_flag/index.html
blob: 5bf381da53a3f9a20eca666c10e74a39455d7983 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
---
title: 'SyntaxError: invalid regular expression flag "x"'
slug: Web/JavaScript/Reference/Fehler/Bad_regexp_flag
tags:
  - Error
  - JavaScript
  - SyntaxError
translation_of: Web/JavaScript/Reference/Errors/Bad_regexp_flag
---
<div>{{jsSidebar("Errors")}}</div>

<h2 id="Fehlermeldung">Fehlermeldung</h2>

<pre class="syntaxbox">SyntaxError: invalid regular expression flag "x" (Firefox)
SyntaxError: Invalid regular expression flags (Chrome)
</pre>

<h2 id="Fehlertyp">Fehlertyp</h2>

<p>{{jsxref("SyntaxError")}}</p>

<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2>

<p>Es gibt nicht valide Flags in regulären Ausdrücken im Code. In einem regulärem Ausdrucksliteral, welches aus eine Muster umschlossen von Schrägstrichen ist, kommen die Flags nach dem zweiten Schrägstrich. Sie können auch in der Konstruktorfunktion des {{jsxref("RegExp")}} Objektes angegeben werden (zweiter Parameter). Flags für reguläre Ausdrücke können einfach oder zusammen in beliebiger Reihenfolge benutzt werden, jedoch gibt es in ECMAScript nur fünf.</p>

<p>Um ein Flag in regulären Ausdrücken einzufügen kann folgende Syntax benutzt werden:</p>

<pre class="brush: js">var re = /pattern/flags;
</pre>

<p>oder</p>

<pre class="brush: js">var re = new RegExp('pattern', 'flags');</pre>

<table class="standard-table">
 <caption>Flags von regulären Ausdrücken</caption>
 <thead>
  <tr>
   <th scope="col">Flag</th>
   <th scope="col">Beschreibung</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>g</td>
   <td>Globale Suche.</td>
  </tr>
  <tr>
   <td>i</td>
   <td>Groß- und Kleinschreibung nicht unterscheiden.</td>
  </tr>
  <tr>
   <td>m</td>
   <td>Suche über mehrere Zeilen.</td>
  </tr>
  <tr>
   <td>u</td>
   <td>Unicode; nimmt das Muster als eine Sequenz von Unicode Codepoints an.</td>
  </tr>
  <tr>
   <td>y</td>
   <td>Führt eine "sticky" Suche durch, welche zutrifft, wenn der String von der Startposition aus auf das Muster zutrifft. Siehe {{jsxref("RegExp.sticky", "sticky")}}.</td>
  </tr>
 </tbody>
</table>

<h2 id="Beispiele">Beispiele</h2>

<p>Es gibt nur fünf valide Flags für reguläre Ausdrücke.</p>

<pre class="brush: js example-bad">/foo/bar;

// SyntaxError: invalid regular expression flag "b"
</pre>

<p>Ist eine regulärer Ausdruck gewollt? Ein Ausdruck, der zwei Schrägstriche enthält wird als Literal für reguläre Ausdrücke interpretiert.</p>

<pre class="brush: js example-bad">let obj = {
  url: /docs/Web
};

// SyntaxError: invalid regular expression flag "W"
</pre>

<p>Oder war stattdessen ein String gemeint? Füge einfache oder doppelte Anführungszeichen hinzu, um ein Stringliteral zu erstellen.</p>

<pre class="brush: js example-good">let obj = {
  url: '/docs/Web'
};</pre>

<h3 id="Valide_Flags_für_reguläre_Ausdrücke">Valide Flags für reguläre Ausdrücke</h3>

<p>Siehe in der Tabelle oben für die fünf in JavaScript erlaubten validen Flags für reguläre Ausdrücke</p>

<pre class="brush: js example-good">/foo/g;
/foo/gim;
/foo/uy;
</pre>

<h2 id="Siehe_auch">Siehe auch</h2>

<ul>
 <li><a href="/de/docs/Web/JavaScript/Guide/Regular_Expressions">Reguläre Ausdrücke</a></li>
 <li><a href="http://xregexp.com/flags/">XRegEx Flags</a> – Bibliothek für reguläre Ausdrücke, die vier weitere Flags unterstützt (<code>n</code>, <code>s</code>, <code>x</code>, <code>A</code>)</li>
</ul>