<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://courses.cs.taltech.ee/w/index.php?action=history&amp;feed=atom&amp;title=ITI0011%3Apraktikum_16</id>
	<title>ITI0011:praktikum 16 - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://courses.cs.taltech.ee/w/index.php?action=history&amp;feed=atom&amp;title=ITI0011%3Apraktikum_16"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16&amp;action=history"/>
	<updated>2026-04-18T17:59:50Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16&amp;diff=2222&amp;oldid=prev</id>
		<title>Ago – 26. märts 2015, kell 08:51</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16&amp;diff=2222&amp;oldid=prev"/>
		<updated>2015-03-26T08:51:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 26. märts 2015, kell 08:51&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;1. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import java.util.regex.Matcher;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import java.util.regex.Matcher;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16&amp;diff=2220&amp;oldid=prev</id>
		<title>Ago: Uus lehekülg: &#039;&lt;source lang=&quot;java&quot;  import java.util.regex.Matcher; import java.util.regex.Pattern;   public class XmlParsingExample {  	public static void main(String[] args) throws BookShopAp...&#039;</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16&amp;diff=2220&amp;oldid=prev"/>
		<updated>2015-03-26T08:50:46Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;&amp;lt;source lang=&amp;quot;java&amp;quot;  import java.util.regex.Matcher; import java.util.regex.Pattern;   public class XmlParsingExample {  	public static void main(String[] args) throws BookShopAp...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&lt;br /&gt;
&lt;br /&gt;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class XmlParsingExample {&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] args) throws BookShopApiException {&lt;br /&gt;
		String xml = &amp;quot;&amp;lt;root&amp;gt;&amp;lt;books&amp;gt;&amp;quot;&lt;br /&gt;
				+ &amp;quot;&amp;lt;book&amp;gt;&amp;lt;title&amp;gt;Kevade&amp;lt;/title&amp;gt;&amp;lt;author&amp;gt;Luts&amp;lt;/author&amp;gt;&amp;lt;/book&amp;gt;&amp;quot;&lt;br /&gt;
				+ &amp;quot;&amp;lt;book&amp;gt;&amp;lt;title&amp;gt;Sügis&amp;lt;/title&amp;gt;&amp;lt;author&amp;gt;Luts&amp;lt;/author&amp;gt;&amp;lt;/book&amp;gt;&amp;quot;&lt;br /&gt;
				+ &amp;quot;&amp;lt;/books&amp;gt;&amp;lt;/root&amp;gt;&amp;quot;;&lt;br /&gt;
		System.out.println(xml);&lt;br /&gt;
		&lt;br /&gt;
		// 1) manual, String meetodid&lt;br /&gt;
		int pos = 0;&lt;br /&gt;
		while (true) {&lt;br /&gt;
			// otsin järgneva &amp;quot;&amp;lt;book&amp;gt;&amp;quot;&lt;br /&gt;
			int bookPos = xml.indexOf(&amp;quot;&amp;lt;book&amp;gt;&amp;quot;, pos);&lt;br /&gt;
			if (bookPos == -1) {&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
			// otsin järgneva &amp;quot;&amp;lt;title&amp;gt;&amp;quot;&lt;br /&gt;
			int titleStart = xml.indexOf(&amp;quot;&amp;lt;title&amp;gt;&amp;quot;, bookPos);&lt;br /&gt;
			// otsin järgneva &amp;quot;&amp;lt;/title&amp;gt;&amp;quot;&lt;br /&gt;
			int titleEnd = xml.indexOf(&amp;quot;&amp;lt;/title&amp;gt;&amp;quot;, titleStart);&lt;br /&gt;
			// nende vahel on title&lt;br /&gt;
			String title = xml.substring(titleStart + &amp;quot;&amp;lt;title&amp;gt;&amp;quot;.length(), titleEnd);&lt;br /&gt;
			System.out.println(title);&lt;br /&gt;
			// nihutame järjehoidjat&lt;br /&gt;
			pos = bookPos + 1;&lt;br /&gt;
		}&lt;br /&gt;
		// 2) regexp&lt;br /&gt;
		String s = &amp;quot;gray&amp;quot;;&lt;br /&gt;
		/*&lt;br /&gt;
		 * x? - &amp;quot;x&amp;quot; 0 või 1 kord&lt;br /&gt;
		 * x* - &amp;quot;x&amp;quot; 0 ... korda&lt;br /&gt;
		 * x+ - &amp;quot;x&amp;quot; 1... korda&lt;br /&gt;
		 * x{3} - 3 korda&lt;br /&gt;
		 * x{3,5} - 3 kuni 5 korda&lt;br /&gt;
		 * &lt;br /&gt;
		 * [ae] - &amp;quot;a&amp;quot; või &amp;quot;e&amp;quot;&lt;br /&gt;
		 * [a-zA-Z] - &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, ... &amp;quot;z&amp;quot;&lt;br /&gt;
		 * [0-9] kõik numbrid&lt;br /&gt;
		 * . - suvaline sümbol&lt;br /&gt;
		 * &lt;br /&gt;
		 * [^a] - ^ otsi kõike, mis ei ole [] vahel&lt;br /&gt;
		 * [^a-z] - ükskõik mis sümbol, mis pole a-z&lt;br /&gt;
		 * &lt;br /&gt;
		 * a?&lt;br /&gt;
		 * (at)?&lt;br /&gt;
		 * &lt;br /&gt;
		 * [ae]?&lt;br /&gt;
		 * &lt;br /&gt;
		 * [ae]+&lt;br /&gt;
		 */&lt;br /&gt;
		Pattern p = Pattern.compile(&amp;quot;gr.y&amp;quot;);&lt;br /&gt;
		Matcher m = p.matcher(s);&lt;br /&gt;
		if (m.find()) {&lt;br /&gt;
			System.out.println(&amp;quot;found at:&amp;quot; + m.start() + &amp;quot; ends at:&amp;quot; + m.end());&lt;br /&gt;
		}&lt;br /&gt;
		System.out.println(&amp;quot;---&amp;quot;);&lt;br /&gt;
		// 1) lazy match&lt;br /&gt;
		p = Pattern.compile(&amp;quot;&amp;lt;title&amp;gt;([^&amp;lt;]*)(&amp;lt;/title&amp;gt;)&amp;quot;);&lt;br /&gt;
		m = p.matcher(xml);&lt;br /&gt;
		while (m.find()) {&lt;br /&gt;
			System.out.println(&amp;quot;found at:&amp;quot; + m.start() + &amp;quot; ends at:&amp;quot; + m.end());&lt;br /&gt;
			System.out.println(m.group(0));&lt;br /&gt;
			System.out.println(m.group(1));&lt;br /&gt;
			System.out.println(m.group(2));&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
</feed>