<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FRegular_Expressions%2FLookup</id>
		<title>Java/Regular Expressions/Lookup - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FRegular_Expressions%2FLookup"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Regular_Expressions/Lookup&amp;action=history"/>
		<updated>2026-04-18T12:47:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Regular_Expressions/Lookup&amp;diff=6037&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Regular_Expressions/Lookup&amp;diff=6037&amp;oldid=prev"/>
				<updated>2010-06-01T06:01:04Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:01, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Regular_Expressions/Lookup&amp;diff=6036&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Regular_Expressions/Lookup&amp;diff=6036&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Java Regular Expression : File and Find ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* From http://java.sun.ru/docs/books/tutorial/index.html */&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions are met:&lt;br /&gt;
 *&lt;br /&gt;
 * -Redistribution of source code must retain the above copyright notice, this&lt;br /&gt;
 *  list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 * -Redistribution in binary form must reproduce the above copyright notice,&lt;br /&gt;
 *  this list of conditions and the following disclaimer in the documentation&lt;br /&gt;
 *  and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * Neither the name of Sun Microsystems, Inc. or the names of contributors may&lt;br /&gt;
 * be used to endorse or promote products derived from this software without&lt;br /&gt;
 * specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING&lt;br /&gt;
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. (&amp;quot;SUN&amp;quot;)&lt;br /&gt;
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE&lt;br /&gt;
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS&lt;br /&gt;
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST&lt;br /&gt;
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,&lt;br /&gt;
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY&lt;br /&gt;
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,&lt;br /&gt;
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * You acknowledge that this software is not designed, licensed or intended&lt;br /&gt;
 * for use in the design, construction, operation or maintenance of any&lt;br /&gt;
 * nuclear facility.&lt;br /&gt;
 */&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
public final class RegexTestHarness {&lt;br /&gt;
  private static String REGEX;&lt;br /&gt;
  private static String INPUT;&lt;br /&gt;
  private static BufferedReader br;&lt;br /&gt;
  private static Pattern pattern;&lt;br /&gt;
  private static Matcher matcher;&lt;br /&gt;
  private static boolean found;&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    initResources();&lt;br /&gt;
    processTest();&lt;br /&gt;
    closeResources();&lt;br /&gt;
  }&lt;br /&gt;
  private static void initResources() {&lt;br /&gt;
    try {&lt;br /&gt;
      br = new BufferedReader(new FileReader(&amp;quot;regex.txt&amp;quot;));&lt;br /&gt;
    } catch (FileNotFoundException fnfe) {&lt;br /&gt;
      System.out&lt;br /&gt;
          .println(&amp;quot;Cannot locate input file! &amp;quot; + fnfe.getMessage());&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      REGEX = br.readLine();&lt;br /&gt;
      INPUT = br.readLine();&lt;br /&gt;
    } catch (IOException ioe) {&lt;br /&gt;
    }&lt;br /&gt;
    pattern = Pattern.rupile(REGEX);&lt;br /&gt;
    matcher = pattern.matcher(INPUT);&lt;br /&gt;
    System.out.println(&amp;quot;Current REGEX is: &amp;quot; + REGEX);&lt;br /&gt;
    System.out.println(&amp;quot;Current INPUT is: &amp;quot; + INPUT);&lt;br /&gt;
  }&lt;br /&gt;
  private static void processTest() {&lt;br /&gt;
    while (matcher.find()) {&lt;br /&gt;
      System.out.println(&amp;quot;I found the text \&amp;quot;&amp;quot; + matcher.group()&lt;br /&gt;
          + &amp;quot;\&amp;quot; starting at index &amp;quot; + matcher.start()&lt;br /&gt;
          + &amp;quot; and ending at index &amp;quot; + matcher.end() + &amp;quot;.&amp;quot;);&lt;br /&gt;
      found = true;&lt;br /&gt;
    }&lt;br /&gt;
    if (!found) {&lt;br /&gt;
      System.out.println(&amp;quot;No match found.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static void closeResources() {&lt;br /&gt;
    try {&lt;br /&gt;
      br.close();&lt;br /&gt;
    } catch (IOException ioe) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Java Regular Expression : find 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* From http://java.sun.ru/docs/books/tutorial/index.html */&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions are met:&lt;br /&gt;
 *&lt;br /&gt;
 * -Redistribution of source code must retain the above copyright notice, this&lt;br /&gt;
 *  list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 * -Redistribution in binary form must reproduce the above copyright notice,&lt;br /&gt;
 *  this list of conditions and the following disclaimer in the documentation&lt;br /&gt;
 *  and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * Neither the name of Sun Microsystems, Inc. or the names of contributors may&lt;br /&gt;
 * be used to endorse or promote products derived from this software without&lt;br /&gt;
 * specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING&lt;br /&gt;
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. (&amp;quot;SUN&amp;quot;)&lt;br /&gt;
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE&lt;br /&gt;
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS&lt;br /&gt;
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST&lt;br /&gt;
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,&lt;br /&gt;
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY&lt;br /&gt;
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,&lt;br /&gt;
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * You acknowledge that this software is not designed, licensed or intended&lt;br /&gt;
 * for use in the design, construction, operation or maintenance of any&lt;br /&gt;
 * nuclear facility.&lt;br /&gt;
 */&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
import java.util.regex.PatternSyntaxException;&lt;br /&gt;
public final class RegexTestHarness2 {&lt;br /&gt;
  private static String REGEX;&lt;br /&gt;
  private static String INPUT;&lt;br /&gt;
  private static BufferedReader br;&lt;br /&gt;
  private static Pattern pattern;&lt;br /&gt;
  private static Matcher matcher;&lt;br /&gt;
  private static boolean found;&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    initResources();&lt;br /&gt;
    processTest();&lt;br /&gt;
    closeResources();&lt;br /&gt;
  }&lt;br /&gt;
  private static void initResources() {&lt;br /&gt;
    try {&lt;br /&gt;
      br = new BufferedReader(new FileReader(&amp;quot;regex.txt&amp;quot;));&lt;br /&gt;
    } catch (FileNotFoundException fnfe) {&lt;br /&gt;
      System.out&lt;br /&gt;
          .println(&amp;quot;Cannot locate input file! &amp;quot; + fnfe.getMessage());&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      REGEX = br.readLine();&lt;br /&gt;
      INPUT = br.readLine();&lt;br /&gt;
    } catch (IOException ioe) {&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      pattern = Pattern.rupile(REGEX);&lt;br /&gt;
      matcher = pattern.matcher(INPUT);&lt;br /&gt;
    } catch (PatternSyntaxException pse) {&lt;br /&gt;
      System.out&lt;br /&gt;
          .println(&amp;quot;There is a problem with the regular expression!&amp;quot;);&lt;br /&gt;
      System.out.println(&amp;quot;The pattern in question is: &amp;quot;&lt;br /&gt;
          + pse.getPattern());&lt;br /&gt;
      System.out.println(&amp;quot;The description is: &amp;quot; + pse.getDescription());&lt;br /&gt;
      System.out.println(&amp;quot;The message is: &amp;quot; + pse.getMessage());&lt;br /&gt;
      System.out.println(&amp;quot;The index is: &amp;quot; + pse.getIndex());&lt;br /&gt;
      System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;Current REGEX is: &amp;quot; + REGEX);&lt;br /&gt;
    System.out.println(&amp;quot;Current INPUT is: &amp;quot; + INPUT);&lt;br /&gt;
  }&lt;br /&gt;
  private static void processTest() {&lt;br /&gt;
    while (matcher.find()) {&lt;br /&gt;
      System.out.println(&amp;quot;I found the text \&amp;quot;&amp;quot; + matcher.group()&lt;br /&gt;
          + &amp;quot;\&amp;quot; starting at index &amp;quot; + matcher.start()&lt;br /&gt;
          + &amp;quot; and ending at index &amp;quot; + matcher.end() + &amp;quot;.&amp;quot;);&lt;br /&gt;
      found = true;&lt;br /&gt;
    }&lt;br /&gt;
    if (!found) {&lt;br /&gt;
      System.out.println(&amp;quot;No match found.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static void closeResources() {&lt;br /&gt;
    try {&lt;br /&gt;
      br.close();&lt;br /&gt;
    } catch (IOException ioe) {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negative Look ahead ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&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;
public class NegativeLookaheadExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    String regex = &amp;quot;John (?!Smith)[A-Z]\\w+&amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(regex);&lt;br /&gt;
    String candidate = &amp;quot;I think that John Smith &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;is a fictional character. His real name &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;might be John Jackson, John Westling, &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;or John Holmes for all we know.&amp;quot;;&lt;br /&gt;
    Matcher matcher = pattern.matcher(candidate);&lt;br /&gt;
    String tmp = null;&lt;br /&gt;
    while (matcher.find()) {&lt;br /&gt;
      tmp = matcher.group();&lt;br /&gt;
      System.out.println(&amp;quot;MATCH:&amp;quot; + tmp);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Positive Look ahead ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&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;
public class PositiveLookaheadExample {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String regex = &amp;quot;(?=^255).*&amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(regex);&lt;br /&gt;
    String candidate = &amp;quot;255.0.0.1&amp;quot;;&lt;br /&gt;
    Matcher matcher = pattern.matcher(candidate);&lt;br /&gt;
    String ip = &amp;quot;not found&amp;quot;;&lt;br /&gt;
    if (matcher.find())&lt;br /&gt;
      ip = matcher.group();&lt;br /&gt;
    String msg = &amp;quot;ip: &amp;quot; + ip;&lt;br /&gt;
    System.out.println(msg);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Positive Look behind 1 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&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;
public class PositiveLookBehindExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    String regex = &amp;quot;(?&amp;lt;=http://)\\S+&amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(regex);&lt;br /&gt;
    String candidate = &amp;quot;The jexp website can be found at &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;http://www.jexp.ru. There, &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;you can find some Java examples.&amp;quot;;&lt;br /&gt;
    Matcher matcher = pattern.matcher(candidate);&lt;br /&gt;
    while (matcher.find()) {&lt;br /&gt;
      String msg = &amp;quot;:&amp;quot; + matcher.group() + &amp;quot;:&amp;quot;;&lt;br /&gt;
      System.out.println(msg);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Positive Look Behind 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&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;
public class PositiveLookBehindExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    String regex = &amp;quot;(?&amp;lt;=http://)\\S+&amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(regex);&lt;br /&gt;
    String candidate = &amp;quot;The jexp website can be found at &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;http://www.jexp.ru. There, &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;you can find some best example code for Java.&amp;quot;;&lt;br /&gt;
    Matcher matcher = pattern.matcher(candidate);&lt;br /&gt;
    while (matcher.find()) {&lt;br /&gt;
      String msg = &amp;quot;:&amp;quot; + matcher.group() + &amp;quot;:&amp;quot;;&lt;br /&gt;
      System.out.println(msg);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Positive Look Behind 3 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&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;
public class PositiveLookBehindExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    String regex = &amp;quot;(?&amp;lt;=http://)\\S+&amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(regex);&lt;br /&gt;
    String candidate = &amp;quot;The jexp website can be found at &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;http://www.jexp.ru. There, &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;you can find information about some of &amp;quot;;&lt;br /&gt;
    candidate += &amp;quot;best example codes&amp;quot;;&lt;br /&gt;
    Matcher matcher = pattern.matcher(candidate);&lt;br /&gt;
    while (matcher.find()) {&lt;br /&gt;
      String msg = &amp;quot;:&amp;quot; + matcher.group() + &amp;quot;:&amp;quot;;&lt;br /&gt;
      System.out.println(msg);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Regular Expression: find ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* From http://java.sun.ru/docs/books/tutorial/index.html */&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions are met:&lt;br /&gt;
 *&lt;br /&gt;
 * -Redistribution of source code must retain the above copyright notice, this&lt;br /&gt;
 *  list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 * -Redistribution in binary form must reproduce the above copyright notice,&lt;br /&gt;
 *  this list of conditions and the following disclaimer in the documentation&lt;br /&gt;
 *  and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 * Neither the name of Sun Microsystems, Inc. or the names of contributors may&lt;br /&gt;
 * be used to endorse or promote products derived from this software without&lt;br /&gt;
 * specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING&lt;br /&gt;
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. (&amp;quot;SUN&amp;quot;)&lt;br /&gt;
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE&lt;br /&gt;
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS&lt;br /&gt;
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST&lt;br /&gt;
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,&lt;br /&gt;
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY&lt;br /&gt;
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,&lt;br /&gt;
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * You acknowledge that this software is not designed, licensed or intended&lt;br /&gt;
 * for use in the design, construction, operation or maintenance of any&lt;br /&gt;
 * nuclear facility.&lt;br /&gt;
 */&lt;br /&gt;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
public final class MatcherTest {&lt;br /&gt;
  private static final String REGEX = &amp;quot;\\bdog\\b&amp;quot;;&lt;br /&gt;
  private static final String INPUT = &amp;quot;dog dog dog doggie dogg&amp;quot;;&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    Pattern p = Pattern.rupile(REGEX);&lt;br /&gt;
    Matcher m = p.matcher(INPUT); // get a matcher object&lt;br /&gt;
    int count = 0;&lt;br /&gt;
    while (m.find()) {&lt;br /&gt;
      count++;&lt;br /&gt;
      System.out.println(&amp;quot;Match number &amp;quot; + count);&lt;br /&gt;
      System.out.println(&amp;quot;start(): &amp;quot; + m.start());&lt;br /&gt;
      System.out.println(&amp;quot;end(): &amp;quot; + m.end());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>