Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
java:regular-expressions 2008/01/24 13:33 | java:regular-expressions 2020/01/22 20:59 aktuell | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | [[java|Java - Allgemein]]\\ | ||
====== Reguläre Ausdrücke ====== | ====== Reguläre Ausdrücke ====== | ||
- | Hier ein kleiner Auszug aus den Möglichkeiten von regulären Ausrücken (regular expressions): | + | Hier ein kleiner Auszug aus den Möglichkeiten von regulären Ausrücken (regular expressions):\\ |
+ | \\ | ||
+ | <html> | ||
+ | <script type="text/javascript"><!-- | ||
+ | google_ad_client="pub-9681858985507948"; | ||
+ | google_ad_width = 468; | ||
+ | google_ad_height = 60; | ||
+ | google_ad_format = "468x60_as"; | ||
+ | google_ad_type = "text"; | ||
+ | google_ad_channel = ""; | ||
+ | google_color_border = "cccccc"; | ||
+ | google_color_bg = "FFFFFF"; | ||
+ | google_color_link = "1d2d8c"; | ||
+ | google_color_text = "000000"; | ||
+ | google_color_url = "1d2d8c"; | ||
+ | //--> | ||
+ | </script> | ||
+ | <script type="text/javascript" | ||
+ | src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> | ||
+ | </script> | ||
+ | </html> | ||
+ | \\ | ||
+ | \\ | ||
* **^** alleinstehend steht es für den Anfang einer Zeichenkette | * **^** alleinstehend steht es für den Anfang einer Zeichenkette | ||
* **.** steht für ein beliebiges Zeichen | * **.** steht für ein beliebiges Zeichen | ||
- | * **+** das vorhergehende Zeichen muss mindestens einmal vorkommen (folglich steht **.+** für eine beliebige Zeichenkette) | + | * **+** das vorhergehende Zeichen muss mindestens einmal vorkommen (folglich steht **.+** für eine beliebige Zeichenkette mit mindestems einem Zeichen) |
+ | * ***** das vorhergehende Zeichen kann kein Mal bis beliebig oft vorkommen (folglich steht **.*** für eine beliebige Zeichenkette) | ||
* **[abc]** eines der Zeichen in den Klammern muss anstelle des Klammer-Ausdrucks vorkommen ("a[12]b" passt somit zu "a1b" und "a2b") | * **[abc]** eines der Zeichen in den Klammern muss anstelle des Klammer-Ausdrucks vorkommen ("a[12]b" passt somit zu "a1b" und "a2b") | ||
- | * **[^abc]** keines der Zeichen in den Klammern darf anstelle des Klammer-Ausdrucks vorkommen ("a[12]b" passt somit nicht zu "a1b" und "a2b", aber zu "a3b") | + | * **[^abc]** keines der Zeichen in den Klammern darf anstelle des Klammer-Ausdrucks vorkommen ("a[^12]b" passt somit nicht zu "a1b" und "a2b", aber zu "a3b") |
* **[a-c]** eines der Zeichen im angegebenen Bereich muss anstelle des Klammer-Ausdrucks vorkommen ("a[1-3]b" passt somit zu "a1b", "a2b" und "a3b", aber nicht zu "a4b") | * **[a-c]** eines der Zeichen im angegebenen Bereich muss anstelle des Klammer-Ausdrucks vorkommen ("a[1-3]b" passt somit zu "a1b", "a2b" und "a3b", aber nicht zu "a4b") | ||
* **[^a-c]** keines der Zeichen im angegebenen Bereich darf anstelle des Klammer-Ausdrucks vorkommen | * **[^a-c]** keines der Zeichen im angegebenen Bereich darf anstelle des Klammer-Ausdrucks vorkommen | ||
+ | * **?** das voranstehende Zeichen darf höchstens einmal vorkommen ("a?b" passt somit zu "ab" und "b", aber nicht zu "aab"). | ||
+ | * **\** sorgt vor einem Sonderzeichen dafür, das selbiges als Zeichen interpretiert wird. Zusammen mit bestimmten Buchstaben (\n oder \d) auch für besondere Zeichen. | ||
+ | * **\d** Das Zeichen muss eine Ziffer sein. | ||
+ | * **\D** Das Zeichen darf ein beliebiges Zeichen außer einer Ziffer sein. | ||
+ | * **\w** Das Zeichen muss aus folgender Menge stammen "0" bis "9", "A" bis "Z", "a" bis "z" und "_". | ||
Sollen Sonderzeichen nicht als Steuerzeichen intepretiert werden, sondern als normale Zeichen, so muss ein "\" vorangestellt werden (in Java-String durch ein doppeltes "\\" einzugeben).\\ | Sollen Sonderzeichen nicht als Steuerzeichen intepretiert werden, sondern als normale Zeichen, so muss ein "\" vorangestellt werden (in Java-String durch ein doppeltes "\\" einzugeben).\\ | ||
Zeile 15: | Zeile 43: | ||
<code java> | <code java> | ||
String str = "hallo.txt"; | String str = "hallo.txt"; | ||
- | System.out.println(str.matches("^hallo\\..+")); // true, entspricht einem "hallo.*" | + | System.out.println(str.matches("^hallo\\..*")); // true; entspricht einem "hallo.*" |
</code> | </code> | ||
+ | \\ | ||
+ | Ausführliche Infos (in engl.) finden sich unter:\\ | ||
+ | [[http://www.regular-expressions.info]] |