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

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Regular_Expressions/Replace&amp;diff=6043&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Regular_Expressions/Replace&amp;diff=6043&amp;oldid=prev"/>
				<updated>2010-06-01T06:01:06Z</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://www.jexp.ru/index.php?title=Java/Regular_Expressions/Replace&amp;diff=6042&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Regular_Expressions/Replace&amp;diff=6042&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;== Append Replacement Method ==&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 Main {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Pattern p = Pattern.rupile(&amp;quot;test&amp;quot;);&lt;br /&gt;
    StringBuffer sb = new StringBuffer();&lt;br /&gt;
    String candidateString = &amp;quot;This is a test.&amp;quot;;&lt;br /&gt;
    String replacement = &amp;quot;Test&amp;quot;;&lt;br /&gt;
    Matcher matcher = p.matcher(candidateString);&lt;br /&gt;
    matcher.find();&lt;br /&gt;
    matcher.appendReplacement(sb, replacement);&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;
== Escaping Special Characters in a Pattern ==&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.Pattern;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    String patternStr = &amp;quot;i.e.&amp;quot;;&lt;br /&gt;
    boolean matchFound = Pattern.matches(patternStr, &amp;quot;i.e.&amp;quot;);&lt;br /&gt;
    matchFound = Pattern.matches(patternStr, &amp;quot;ibex&amp;quot;); &lt;br /&gt;
    // Quote the pattern; i.e. surround with \Q and \E&lt;br /&gt;
    matchFound = Pattern.matches(&amp;quot;\\Q&amp;quot; + patternStr + &amp;quot;\\E&amp;quot;, &amp;quot;i.e.&amp;quot;); &lt;br /&gt;
    matchFound = Pattern.matches(&amp;quot;\\Q&amp;quot; + patternStr + &amp;quot;\\E&amp;quot;, &amp;quot;ibex&amp;quot;); &lt;br /&gt;
    // Escape the pattern&lt;br /&gt;
    patternStr = escapeRE(patternStr);&lt;br /&gt;
    matchFound = Pattern.matches(patternStr, &amp;quot;i.e.&amp;quot;); &lt;br /&gt;
    matchFound = Pattern.matches(patternStr, &amp;quot;ibex&amp;quot;); &lt;br /&gt;
    // Returns a pattern where all punctuation characters are escaped.&lt;br /&gt;
  }&lt;br /&gt;
  public static String escapeRE(String str) {&lt;br /&gt;
    Pattern escaper = Pattern.rupile(&amp;quot;([^a-zA-z0-9])&amp;quot;);&lt;br /&gt;
    return escaper.matcher(str).replaceAll(&amp;quot;\\\\$1&amp;quot;);&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;
== REGEX = &amp;quot;a*b&amp;quot; ==&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;
 * Copyright (c) 1995 - 2008 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&lt;br /&gt;
 * are met:&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions of source code must retain the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *     documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Neither the name of Sun Microsystems nor the names of its&lt;br /&gt;
 *     contributors may be used to endorse or promote products derived&lt;br /&gt;
 *     from this software without specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &amp;quot;AS&lt;br /&gt;
 * IS&amp;quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR&lt;br /&gt;
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,&lt;br /&gt;
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR&lt;br /&gt;
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF&lt;br /&gt;
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING&lt;br /&gt;
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 */&lt;br /&gt;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
public class ReplaceDemo2 {&lt;br /&gt;
  private static String REGEX = &amp;quot;a*b&amp;quot;;&lt;br /&gt;
  private static String INPUT = &amp;quot;aabfooaabfooabfoob&amp;quot;;&lt;br /&gt;
  private static String REPLACE = &amp;quot;-&amp;quot;;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Pattern p = Pattern.rupile(REGEX);&lt;br /&gt;
    Matcher m = p.matcher(INPUT); // get a matcher object&lt;br /&gt;
    INPUT = m.replaceAll(REPLACE);&lt;br /&gt;
    System.out.println(INPUT);&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;
== Removing Line Termination Characters from a String ==&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 Main {&lt;br /&gt;
  public static CharSequence removeLineTerminators(CharSequence inputStr) {&lt;br /&gt;
    String patternStr = &amp;quot;(?m)$^|[\\r\\n]+\\z&amp;quot;;&lt;br /&gt;
    String replaceStr = &amp;quot; &amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(patternStr);&lt;br /&gt;
    Matcher matcher = pattern.matcher(inputStr);&lt;br /&gt;
    return matcher.replaceAll(replaceStr);&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;
== ReplaceAll Method from Matcher ==&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 Main {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Pattern p = Pattern.rupile(&amp;quot;(i|I)ce&amp;quot;);&lt;br /&gt;
    String candidateString = &amp;quot;ice Ice Ice.&amp;quot;;&lt;br /&gt;
    Matcher matcher = p.matcher(candidateString);&lt;br /&gt;
    String tmp = matcher.replaceAll(&amp;quot;Java&amp;quot;);&lt;br /&gt;
    System.out.println(tmp);&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;
== replaceFirst Method from Matcher ==&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 Main {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Pattern p = Pattern.rupile(&amp;quot;(i|I)ce&amp;quot;);&lt;br /&gt;
    String candidateString = &amp;quot;ice Ice Ice.&amp;quot;;&lt;br /&gt;
    Matcher matcher = p.matcher(candidateString);&lt;br /&gt;
    String tmp = matcher.replaceFirst(&amp;quot;Java&amp;quot;);&lt;br /&gt;
    System.out.println(tmp);&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;
== Working with Back References ==&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;
import java.util.regex.Matcher;&lt;br /&gt;
import java.util.regex.Pattern;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    String regex = &amp;quot;(\\w)(\\d)(\\w+)&amp;quot;;&lt;br /&gt;
    Pattern pattern = Pattern.rupile(regex);&lt;br /&gt;
    String candidate = &amp;quot;X99 &amp;quot;;&lt;br /&gt;
    Matcher matcher = pattern.matcher(candidate);&lt;br /&gt;
    String tmp = matcher.replaceAll(&amp;quot;$33&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;REPLACEMENT: &amp;quot; + tmp);&lt;br /&gt;
    System.out.println(&amp;quot;ORIGINAL: &amp;quot; + candidate);&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>