<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>(RegEx) (einfach) - $2 $1</title>
	<atom:link href="http://www.regex-einfach.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.regex-einfach.de</link>
	<description>Reguläre Ausdrücke einfach erklärt</description>
	<lastBuildDate>Tue, 30 Jun 2009 08:06:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Null, eins, viele reguläre Ausdrücke</title>
		<link>http://www.regex-einfach.de/2009/06/null-eins-viele-regulare-ausdrucke/</link>
		<comments>http://www.regex-einfach.de/2009/06/null-eins-viele-regulare-ausdrucke/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 12:27:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reguläre Ausdrücke am Beispiel]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=72</guid>
		<description><![CDATA[Richtig spannend wird es erst jetzt: Wir quantifizieren reguläre Ausdrücke. Dabei gibt es drei Operatoren: ?, +, * a? Null oder ein a. a+ Ein oder beliebig viele a. a* Null oder beliebig viele a. Dies lässt sich auch sehr gut mit kombinieren: (ähm)+ beschreibt ein oder beliebig viele ähm.]]></description>
			<content:encoded><![CDATA[<p>Richtig spannend wird es erst jetzt: Wir <a href="http://de.wikipedia.org/wiki/Quantifizieren">quantifizieren</a> reguläre Ausdrücke. Dabei gibt es drei Operatoren: ?, +, *</p>
<ul>
<li><code>a?</code> Null oder ein <em>a</em>.</li>
<li><code>a+</code> Ein oder beliebig viele <em>a</em>.</li>
<li><code>a*</code> Null oder beliebig viele <em>a</em>.</li>
</ul>
<p>Dies lässt sich auch sehr gut mit <a href="http://www.regex-einfach.de/2009/06/zeichengruppen-sind-regulare-ausdrucke/">Gruppierungen</a> kombinieren:</p>
<p><code>(ähm)+</code> beschreibt ein oder beliebig viele <em>ähm</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/null-eins-viele-regulare-ausdrucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>. ist ein regulärer Ausdruck</title>
		<link>http://www.regex-einfach.de/2009/06/punkt-ist-ein-regulaerer-ausdruck/</link>
		<comments>http://www.regex-einfach.de/2009/06/punkt-ist-ein-regulaerer-ausdruck/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 12:20:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reguläre Ausdrücke am Beispiel]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=70</guid>
		<description><![CDATA[Wie bitte? . ist ein regulärer Ausdruck? Ja, ganz genau, der Punkt bezeichnet aber nicht den Punkt als solches, sondern jedes beliebige Zeichen. Soll er dennoch den Punkt beschreiben, so wird wieder eine benötigt: . . matcht also im Testtext1. wie folgt. Testtext1.]]></description>
			<content:encoded><![CDATA[<p>Wie bitte? . ist ein regulärer Ausdruck? Ja, ganz genau, der Punkt bezeichnet aber nicht den Punkt als solches, sondern jedes beliebige Zeichen. Soll er dennoch den Punkt beschreiben, so wird wieder eine <a href="http://www.regex-einfach.de/2009/06/fliehen-mit-clint-eastwood-escape-from-alcatraz/">Escape-Sequenz</a> benötigt: .</p>
<p>. matcht also im Testtext1. wie folgt.</p>
<p><span class="regexmatch match1">T</span><span class="regexmatch match1">e</span><span class="regexmatch match1">s</span><span class="regexmatch match1">t</span><span class="regexmatch match1">t</span><span class="regexmatch match1">e</span><span class="regexmatch match1">x</span><span class="regexmatch match1">t</span><span class="regexmatch match1">1</span><span class="regexmatch match1">.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/punkt-ist-ein-regulaerer-ausdruck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Runde Klammern gruppieren reguläre Ausdrücke</title>
		<link>http://www.regex-einfach.de/2009/06/runde-klammern-gruppieren-regulare-ausdrucke/</link>
		<comments>http://www.regex-einfach.de/2009/06/runde-klammern-gruppieren-regulare-ausdrucke/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 09:04:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reguläre Ausdrücke am Beispiel]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=66</guid>
		<description><![CDATA[Runde Klammern dienen dazu, reguläre Ausdrücke zu gruppieren. Somit lassen sich diese als eine Einheit verwenden. Ein Beispiel mit der : (Tot)&#124;(Tod) bezeichnet Tot oder Tod. Die Zeichen werden durch das jeweilige Klammernpaar zusammengruppiert. In diesem Beispiel ließe sich aber auch anders gruppieren: To(t&#124;d) bedeutet dann To gefolgt von t oder d. Beide RegEx beschreiben [...]]]></description>
			<content:encoded><![CDATA[<p>Runde Klammern dienen dazu, reguläre Ausdrücke zu gruppieren. Somit lassen sich diese als eine Einheit verwenden. Ein Beispiel mit der <a href="http://www.regex-einfach.de/2009/06/alternativen-regularer-ausdrucke-sind-regulare-ausdrucke/">Alternative</a>:</p>
<p><code>(Tot)|(Tod)</code> bezeichnet <em>Tot</em> oder <em>Tod</em>.</p>
<p>Die Zeichen werden durch das jeweilige Klammernpaar zusammengruppiert. In diesem Beispiel ließe sich aber auch anders gruppieren:</p>
<p><code>To(t|d)</code> bedeutet dann <em>To</em> gefolgt von <em>t</em> oder <em>d</em>.</p>
<p>Beide RegEx beschreiben die selben Wörter. Besonders interessant werden Gruppierungen im Zusammenhang mit Backreferenzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/runde-klammern-gruppieren-regulare-ausdrucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternativen regulärer Ausdrücke sind reguläre Ausdrücke</title>
		<link>http://www.regex-einfach.de/2009/06/alternativen-regularer-ausdrucke-sind-regulare-ausdrucke/</link>
		<comments>http://www.regex-einfach.de/2009/06/alternativen-regularer-ausdrucke-sind-regulare-ausdrucke/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 08:45:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reguläre Ausdrücke am Beispiel]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=57</guid>
		<description><![CDATA[Das klingt kompliziert, ist es aber nicht. Die Alternativen selbst sind keine regulären Ausdrücke, aber die Kombination zweier regulärer Ausdrücke als Alternative schon. Das Sonderzeichen dafür ist &#124;. So lässt sich mit einem RegEx das eine oder das andere beschreiben. Zeit für ein Beispiel: a&#124;b matcht a oder b. 1&#124;2&#124;3 matcht 1 oder 2 oder [...]]]></description>
			<content:encoded><![CDATA[<p>Das klingt kompliziert, ist es aber nicht. Die Alternativen selbst sind keine regulären Ausdrücke, aber die Kombination zweier regulärer Ausdrücke als Alternative schon. Das Sonderzeichen dafür ist |. So lässt sich mit einem RegEx das eine <em>oder</em> das andere beschreiben. Zeit für ein Beispiel:</p>
<p><code>a|b</code> matcht <em>a</em> oder <em>b</em>.<br />
<code>1|2|3</code> matcht <em>1</em> oder <em>2</em> oder <em>3</em>.</p>
<p>Noch interesannter werden die Alternativen im Zusammenhang mit Gruppierungen. Auch das | musst <a href="http://www.regex-einfach.de/2009/06/fliehen-mit-clint-eastwood-escape-from-alcatraz/">escapet</a> werden(<em>\|</em>), wenn es als Zeichen gemeint ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/alternativen-regularer-ausdrucke-sind-regulare-ausdrucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flucht ohne Clint Eastwood &#8211; Escape-Sequenzen</title>
		<link>http://www.regex-einfach.de/2009/06/fliehen-mit-clint-eastwood-escape-from-alcatraz/</link>
		<comments>http://www.regex-einfach.de/2009/06/fliehen-mit-clint-eastwood-escape-from-alcatraz/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 08:01:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Grundlagen]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=40</guid>
		<description><![CDATA[Bestimmte Zeichen werden bei regulären Ausdrücken als Sonderzeichen angesehen. Diese dienen dazu, spezielle Konstrukte zu kennzeichnen. Z.B. lassen sich mit runden Klammern Ausdrücke gruppieren. Wenn man nun aber genau diese Zeichen ohne ihre Sonderbedeutung meint, so muss man diese entwerten. Dies nennt sich dann Escape-Sequenz. Sie werden gebildet, indem Ihnen ein Backslash vorangestellt wird. D.h. [...]]]></description>
			<content:encoded><![CDATA[<p>Bestimmte Zeichen werden bei regulären Ausdrücken als Sonderzeichen angesehen. Diese dienen dazu, spezielle Konstrukte zu kennzeichnen. Z.B. lassen sich mit runden Klammern Ausdrücke gruppieren. Wenn man nun aber genau diese Zeichen ohne ihre Sonderbedeutung meint, so muss man diese entwerten.<br />
Dies nennt sich dann Escape-Sequenz. Sie werden gebildet, indem Ihnen ein Backslash  vorangestellt wird. D.h. folgende Auswahl von Escape-Sequenzen meint genau die Zeichen, die hinter dem Backslash stehen:</p>
<p><code>\( \) \[ \] \. \* \+ \?</code></p>
<p>Und wie beschreibt man den Backslash selbst? Ganz einfach: Durch das Escapen von sich selbst. <em>\\</em> ist <em>ein</em> Backslash.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/fliehen-mit-clint-eastwood-escape-from-alcatraz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeichengruppen sind reguläre Ausdrücke</title>
		<link>http://www.regex-einfach.de/2009/06/zeichengruppen-sind-regulare-ausdrucke/</link>
		<comments>http://www.regex-einfach.de/2009/06/zeichengruppen-sind-regulare-ausdrucke/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 15:22:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reguläre Ausdrücke am Beispiel]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=23</guid>
		<description><![CDATA[Es lassen sich auch mehrere Zeichen, Buchstaben oder Ziffern zu einer Gruppe zusammenfügen. Die geschieht innerhalb eines Paares eckiger Klammern [ ]. Dazu lassen sie sich einzeln aufzählen oder aber als Bereich definieren: [amg] &#8211; Die Buchstaben a, m und g sind gemeint. (einzeln aufgezählt) [f-y] &#8211; Alle Buchstaben von f bis y sind gemeint. [...]]]></description>
			<content:encoded><![CDATA[<p>Es lassen sich auch mehrere Zeichen, Buchstaben oder Ziffern zu einer Gruppe zusammenfügen. Die geschieht innerhalb eines Paares eckiger Klammern <em>[ ]</em>. Dazu lassen sie sich einzeln aufzählen oder aber als Bereich definieren:</p>
<ol>
<li><code>[amg]</code> &#8211; Die Buchstaben <em>a</em>, <em>m</em> und <em>g</em> sind gemeint. (einzeln aufgezählt)</li>
<li><code>[f-y]</code> &#8211; Alle Buchstaben von <em>f</em> bis <em>y</em> sind gemeint. (Bereich definiert)</li>
<li><code>[145a-d]</code> &#8211; Die Ziffern <em>1</em>, <em>4</em>, <em>5</em> und die Buchstaben <em>a</em> bis <em>d</em> sind gemeint. (Kombination aus Aufzählung und Bereich)</li>
</ol>
<p>Wir matchen nun alle drei Zeichengruppen gegen den selben Satz.</p>
<ol>
<li>Ein Text <span class="regexmatch match1">m</span>it den Z<span class="regexmatch match1">a</span>hlen 0815 und 4711 wird <span class="regexmatch match1">g</span>e<span class="regexmatch match1">g</span>en die obi<span class="regexmatch match1">g</span>en RegEx <span class="regexmatch match1">g</span>e<span class="regexmatch match1">m</span><span class="regexmatch match1">a</span>tcht.</li>
<li>E<span class="regexmatch match1">i</span><span class="regexmatch match1">n</span> Te<span class="regexmatch match1">x</span><span class="regexmatch match1">t</span> <span class="regexmatch match1">m</span><span class="regexmatch match1">i</span><span class="regexmatch match1">t</span> de<span class="regexmatch match1">n</span> Zah<span class="regexmatch match1">l</span>e<span class="regexmatch match1">n</span> 0815 <span class="regexmatch match1">u</span><span class="regexmatch match1">n</span>d 4711 <span class="regexmatch match1">w</span><span class="regexmatch match1">i</span><span class="regexmatch match1">r</span>d <span class="regexmatch match1">g</span>e<span class="regexmatch match1">g</span>e<span class="regexmatch match1">n</span> d<span class="regexmatch match1">i</span>e <span class="regexmatch match1">o</span>b<span class="regexmatch match1">i</span><span class="regexmatch match1">g</span>e<span class="regexmatch match1">n</span> R<span class="regexmatch match1">e</span><span class="regexmatch match1">g</span>E<span class="regexmatch match1">x</span> <span class="regexmatch match1">g</span>e<span class="regexmatch match1">m</span>a<span class="regexmatch match1">t</span>c<span class="regexmatch match1">h</span><span class="regexmatch match1">t</span>.</li>
<li>Ein Text mit <span class="regexmatch match1">d</span>en Z<span class="regexmatch match1">a</span>hlen 08<span class="regexmatch match1">1</span><span class="regexmatch match1">5</span> un<span class="regexmatch match1">d</span> <span class="regexmatch match1">4</span>7<span class="regexmatch match1">1</span><span class="regexmatch match1">1</span> wir<span class="regexmatch match1">d</span> gegen <span class="regexmatch match1">d</span>ie o<span class="regexmatch match1">b</span>igen RegEx gem<span class="regexmatch match1">a</span>tcht.</li>
</ol>
<p>Wie zu erkennen ist, werden die Zeichen einzeln gematcht. Jede Zeichengruppe beschreibt nur ein einziges Zeichen.<br />
Zu beachten ist, dass die eckigen Klammern Sonderkonstrukte sind. Somit müssen diese, wenn nach ihnen gesucht werden soll, <a href="http://www.regex-einfach.de/2009/06/fliehen-mit-clint-eastwood-escape-from-alcatraz/">entwertet werden</a>: <em>\[</em> bzw. <em>\]</em> . Dem Bindestrich <em>-</em> kommt innerhalb der Zeichengruppe eine besondere Bedeutung zu: Steht er zwischen zwei Zeichen, definiert dies den Bereich zwischen den beiden. Steht er am Ende, so gitl er ganz normal als Bindestrich oder Minus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/zeichengruppen-sind-regulare-ausdrucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buchstaben und Ziffern sind reguläre Ausdrücke</title>
		<link>http://www.regex-einfach.de/2009/06/buchstaben-und-ziffern-sind-regulare-ausdrucke/</link>
		<comments>http://www.regex-einfach.de/2009/06/buchstaben-und-ziffern-sind-regulare-ausdrucke/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 08:27:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reguläre Ausdrücke am Beispiel]]></category>

		<guid isPermaLink="false">http://www.regex-einfach.de/?p=7</guid>
		<description><![CDATA[Jeder Buchstabe und jede Ziffer ist ein regulärer Ausdruck. Ein sehr einfacher RegEx ist also a oder 1. In dem folgenden Text würden die beiden Ausdrücke wie angezeigt matchen, d.h. dort einen Treffer erzeugen: Anton rät: Bei Feuer einfach 112 anrufen. Zu beachten ist hier, dass grundsätzlich zwischen Groß- und Kleinschreibung unterschieden wird. Je nachdem, [...]]]></description>
			<content:encoded><![CDATA[<p>Jeder Buchstabe und jede Ziffer ist ein regulärer Ausdruck.</p>
<p>Ein sehr einfacher RegEx ist also <code>a</code> oder <code>1</code>. In dem folgenden Text würden die beiden Ausdrücke wie angezeigt matchen, d.h. dort einen Treffer erzeugen:</p>
<p>Anton rät: Bei Feuer einf<span class="regexmatch match1">a</span>ch <span class="regexmatch match2">1</span><span class="regexmatch match2">1</span>2 <span class="regexmatch match1">a</span>nrufen.</p>
<p>Zu beachten ist hier, dass grundsätzlich zwischen Groß- und Kleinschreibung unterschieden wird. Je nachdem, welche RegEx-Ausfürhmethode eingesetzt wird, lässt sich aber die <a href="http://de.wikipedia.org/wiki/Case_sensitivity">case-sensitivity</a> abschalten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/buchstaben-und-ziffern-sind-regulare-ausdrucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;(RegEx) (einfach) &#8211; $2 $1&#8243; &#8211; Was ist das denn für ein komischer Name?</title>
		<link>http://www.regex-einfach.de/2009/06/hallo-welt/</link>
		<comments>http://www.regex-einfach.de/2009/06/hallo-welt/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 07:26:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://regex-einfach.de/?p=1</guid>
		<description><![CDATA[Ein regulärer Ausdruck ist eine Zeichenfolge, mit der man eine Menge von Zeichenfolgen, sogenannten Wörtern, beschreiben kann. RegEx ist eine Abkürzung aus dem englischen (regular expression). Reguläre Ausdrücke sind theoretisch fundiert. Man kann sie z.B. zum Suchen von Zeichenfolgen in Texten verwenden. Es gibt verschiedene Syntaxen für reguläre Ausdrücke. Die bekanntesten ist die von Perl [...]]]></description>
			<content:encoded><![CDATA[<p>Ein regulärer Ausdruck ist eine Zeichenfolge, mit der man eine Menge von Zeichenfolgen, sogenannten Wörtern, beschreiben kann. RegEx ist eine Abkürzung aus dem englischen (regular expression). Reguläre Ausdrücke sind <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck">theoretisch fundiert</a>. Man kann sie z.B. zum Suchen von Zeichenfolgen in Texten verwenden.</p>
<p>Es gibt verschiedene Syntaxen für reguläre Ausdrücke. Die bekanntesten ist die von Perl und die POSIX-Syntax. Im weiteren werden wir auf diverse Sonderzeichen und -konstrukte stoßen. <strong>(RegEx) (einfach) &#8211; $2 $1</strong> bedeutet dabei folgendes:</p>
<p>Ein Klammernpaar <em>( )</em> gruppiert eine Zeichenfolge. Mit den Variablen (Backreferenzen) $1, $2, $3 und so weiter lässt sich auf das erste, zweite, dritte (und so weiter) Klammernpaar referenzieren. Somit wird genau der Audruck nocheinmal erwartet, der im referenzierten Klammernpaar gefunden wurde.</p>
<p><strong>(RegEx) (einfach) &#8211; $2 $1</strong> heißt somit einfach: <strong>RegEx einfach &#8211; einfach RegEx</strong>.</p>
<p>Einfach, oder?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.regex-einfach.de/2009/06/hallo-welt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

