<?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_G12</id>
	<title>ITI0011:praktikum 16 G12 - 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_G12"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16_G12&amp;action=history"/>
	<updated>2026-04-05T23:50:31Z</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_G12&amp;diff=2233&amp;oldid=prev</id>
		<title>Ago: Uus lehekülg: &#039;&lt;source lang=&quot;java&quot;&gt;  import java.util.regex.Matcher; import java.util.regex.Pattern;  public class XmlParsingExample {  	public static void main(String[] args) { 		String xml = ...&#039;</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0011:praktikum_16_G12&amp;diff=2233&amp;oldid=prev"/>
		<updated>2015-03-27T08:52:46Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;  import java.util.regex.Matcher; import java.util.regex.Pattern;  public class XmlParsingExample {  	public static void main(String[] args) { 		String xml = ...&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;&amp;gt;&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;
public class XmlParsingExample {&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		String xml = &amp;quot;&amp;lt;root&amp;gt;&amp;lt;books&amp;gt;&amp;lt;title&amp;gt;blah&amp;lt;/title&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&lt;br /&gt;
		int pos = 0;&lt;br /&gt;
		while (true) {&lt;br /&gt;
			int titleStart = xml.indexOf(&amp;quot;&amp;lt;book&amp;gt;&amp;quot;, pos);&lt;br /&gt;
			if (titleStart == -1) break; // no more book tags&lt;br /&gt;
			titleStart = xml.indexOf(&amp;quot;&amp;lt;title&amp;gt;&amp;quot;, titleStart);&lt;br /&gt;
			if (titleStart == -1) break; // no more titles&lt;br /&gt;
			int titleEnd = xml.indexOf(&amp;quot;&amp;lt;/title&amp;gt;&amp;quot;, titleStart);&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;
			pos = titleEnd;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// regex&lt;br /&gt;
		/*&lt;br /&gt;
		 * sümbol - tähendab sama sümbolit&lt;br /&gt;
		 * x? - kas on või ei ole &amp;quot;x&amp;quot;, 0 või 1 korda &amp;quot;x&amp;quot;&lt;br /&gt;
		 * x* - 0.. korda&lt;br /&gt;
		 * x+ - 1.. korda&lt;br /&gt;
		 * x{3} - täpselt kolm korda&lt;br /&gt;
		 * x{3,5} - kolm kuni viis korda&lt;br /&gt;
		 * &lt;br /&gt;
		 * . - suvaline sümbol&lt;br /&gt;
		 * [abc] - kas &amp;quot;a&amp;quot; või &amp;quot;b&amp;quot; või &amp;quot;c&amp;quot;&lt;br /&gt;
		 * [a-z] - kõik tähed &amp;#039;a&amp;#039;...&amp;#039;z&amp;#039;&lt;br /&gt;
		 * [a-zA-Z] -&lt;br /&gt;
		 * [0-9] - kõik numbrid&lt;br /&gt;
		 * &lt;br /&gt;
		 * [^abc] - mitte &amp;quot;a&amp;quot; ega &amp;quot;b&amp;quot; ega &amp;quot;c&amp;quot;, kõik ülejäänud sobivad&lt;br /&gt;
		 * &lt;br /&gt;
		 * [a-z]? - kas on väike täht või ei ole (0..1 korda väiketähte)&lt;br /&gt;
		 * &lt;br /&gt;
		 */&lt;br /&gt;
		match(&amp;quot;this is colorrr&amp;quot;, &amp;quot;colou?r&amp;quot;);&lt;br /&gt;
		match(&amp;quot;this is colour&amp;quot;, &amp;quot;colou?r&amp;quot;);&lt;br /&gt;
		match(&amp;quot;this is colouuuu&amp;quot;, &amp;quot;colou*r?&amp;quot;);&lt;br /&gt;
		match(&amp;quot;this is colouuuu&amp;quot;, &amp;quot;colou+r?&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		match(&amp;quot;this is greey&amp;quot;, &amp;quot;gr.y&amp;quot;);&lt;br /&gt;
		match(&amp;quot;this is gray&amp;quot;, &amp;quot;gr[ae]y&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		match(&amp;quot;this is graey&amp;quot;, &amp;quot;gr[ae]*y&amp;quot;);&lt;br /&gt;
		match(&amp;quot;123456789&amp;quot;, &amp;quot;[0-9]{1,8}&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		match(&amp;quot;this is colorrr&amp;quot;, &amp;quot;[^ ]is&amp;quot;);&lt;br /&gt;
		match(&amp;quot;binary number 00101010100010&amp;quot;, &amp;quot;(01)+&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		match(&amp;quot;my number is +37212345678&amp;quot;, &amp;quot;([0-9]{3})([0-9]*)&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		match(&amp;quot;this is colorrr&amp;quot;, &amp;quot;(i(s))&amp;quot;);&lt;br /&gt;
		match(&amp;quot;&amp;lt;title&amp;gt;Kevade&amp;lt;/title&amp;gt;&amp;quot;, &amp;quot;&amp;lt;title&amp;gt;(.*)&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
		match(xml, &amp;quot;&amp;lt;title&amp;gt;(.*)&amp;lt;/title&amp;gt;&amp;quot;);&lt;br /&gt;
		// lazy&lt;br /&gt;
		// &lt;br /&gt;
		match(&amp;quot;AtereB AtulemastB&amp;quot;, &amp;quot;A([^B]*)B&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	public static void match(String s, String pattern) {&lt;br /&gt;
		System.out.println(&amp;quot;.-----&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;s:&amp;quot; + s);&lt;br /&gt;
		System.out.println(&amp;quot;pattern:&amp;quot; + pattern);&lt;br /&gt;
		Pattern p = Pattern.compile(pattern);&lt;br /&gt;
		Matcher m = p.matcher(s);&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;
			for (int i = 1; i &amp;lt;= m.groupCount(); i++) {&lt;br /&gt;
				System.out.println(&amp;quot;group &amp;quot; + i + &amp;quot;: &amp;quot; + m.group(i));&lt;br /&gt;
			}&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>