<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://editplus.info/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://editplus.info/w/api.php?action=feedcontributions&amp;user=ElfQrin&amp;feedformat=atom</id>
		<title>EditPlus Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://editplus.info/w/api.php?action=feedcontributions&amp;user=ElfQrin&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Special:Contributions/ElfQrin"/>
		<updated>2012-05-18T17:46:19Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2010-06-30T17:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Split lines */ Note: Consecutive commas will generate empty lines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines. Consecutive commas will generate empty lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around every line==&lt;br /&gt;
Find: &amp;quot;^(.+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;\1&amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this example wraps the tag pair &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt; every line to create a list of items; you'd probably want to apply changes only to a selected text.&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Suppress all empty lines]] to suppress empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn MySQL fields into empty values==&lt;br /&gt;
Find: &amp;quot;`[^`]*`([\,\)\'\&amp;quot;])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (`phone`,`phonecell`,`fax`);&amp;quot;, after: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (&amp;lt;nowiki&amp;gt;'','',''&amp;lt;/nowiki&amp;gt;);&amp;quot;. (Only the second instance of &amp;quot;(`phone`,`phonecell`,`fax`)&amp;quot; must be selected and search and replace must be applied to such selection).&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this is meant to replicate the values in a INSERT query according to the specified fields (and use the empty values as a placeholder): you simply need to copy the fields and past them after VALUES, and then replace them this way.&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example_(category)|Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2010-06-30T17:34:43Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Wikification: Link all elements of a list, changing the linked text */ It's intended this way, because the first value is the link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around every line==&lt;br /&gt;
Find: &amp;quot;^(.+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;\1&amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this example wraps the tag pair &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt; every line to create a list of items; you'd probably want to apply changes only to a selected text.&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Suppress all empty lines]] to suppress empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn MySQL fields into empty values==&lt;br /&gt;
Find: &amp;quot;`[^`]*`([\,\)\'\&amp;quot;])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (`phone`,`phonecell`,`fax`);&amp;quot;, after: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (&amp;lt;nowiki&amp;gt;'','',''&amp;lt;/nowiki&amp;gt;);&amp;quot;. (Only the second instance of &amp;quot;(`phone`,`phonecell`,`fax`)&amp;quot; must be selected and search and replace must be applied to such selection).&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this is meant to replicate the values in a INSERT query according to the specified fields (and use the empty values as a placeholder): you simply need to copy the fields and past them after VALUES, and then replace them this way.&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example_(category)|Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2010-06-30T17:32:22Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: + Wrap a tag pair around every line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around every line==&lt;br /&gt;
Find: &amp;quot;^(.+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;\1&amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this example wraps the tag pair &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/nowiki&amp;gt; every line to create a list of items; you'd probably want to apply changes only to a selected text.&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Suppress all empty lines]] to suppress empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn MySQL fields into empty values==&lt;br /&gt;
Find: &amp;quot;`[^`]*`([\,\)\'\&amp;quot;])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (`phone`,`phonecell`,`fax`);&amp;quot;, after: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (&amp;lt;nowiki&amp;gt;'','',''&amp;lt;/nowiki&amp;gt;);&amp;quot;. (Only the second instance of &amp;quot;(`phone`,`phonecell`,`fax`)&amp;quot; must be selected and search and replace must be applied to such selection).&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this is meant to replicate the values in a INSERT query according to the specified fields (and use the empty values as a placeholder): you simply need to copy the fields and past them after VALUES, and then replace them this way.&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2|\2_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-10-05T17:13:11Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Turn MySQL fields into empty values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Suppress all empty lines]] to suppress empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn MySQL fields into empty values==&lt;br /&gt;
Find: &amp;quot;`[^`]*`([\,\)\'\&amp;quot;])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (`phone`,`phonecell`,`fax`);&amp;quot;, after: &amp;quot;INSERT INTO table (`phone`,`phonecell`,`fax`) VALUES (&amp;lt;nowiki&amp;gt;'','',''&amp;lt;/nowiki&amp;gt;);&amp;quot;. (Only the second instance of &amp;quot;(`phone`,`phonecell`,`fax`)&amp;quot; must be selected and search and replace must be applied to such selection).&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this is meant to replicate the values in a INSERT query according to the specified fields (and use the empty values as a placeholder): you simply need to copy the fields and past them after VALUES, and then replace them this way.&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-05-19T13:24:03Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Comment lines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Suppress all empty lines]] to suppress empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-05-19T13:22:08Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Renamed local anchor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected (Find &amp;quot;\n&amp;quot;, without quotes, to comment empty lines as well). This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Suppress all empty lines]] to suppress empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-05-19T13:19:59Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Improved a few comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Suppress all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace), because only the first one of a series of consecutive empty lines will be edited.&lt;br /&gt;
&lt;br /&gt;
==Suppress all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected (Find &amp;quot;\n&amp;quot;, without quotes, to comment empty lines as well). This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-05-19T13:07:06Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Turn a CSV table into a list of PHP if conditions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Turn a CSV table into a list of PHP if conditions==&lt;br /&gt;
&amp;quot;^([^\,]+)\,([^\,]+)\,([^\,]+)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;elseif (vcmp$==&amp;quot;\1&amp;quot;) {$v2=&amp;quot;\2&amp;quot;; $v3=&amp;quot;\3&amp;quot;;}&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;Italy,Rome,Euro&amp;quot;, after: elseif (vcmp$==&amp;quot;Italy&amp;quot;) {$v2=&amp;quot;Rome&amp;quot;; $v3=&amp;quot;Euro&amp;quot;;}&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, there are three values per record, and the CSV separator is a comma (,), you may need to replace it with another character like \t for tab. Remember to change the first &amp;quot;elseif&amp;quot; to &amp;quot;if&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Feature_Requests</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Feature_Requests"/>
				<updated>2008-05-11T12:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Font Handling */ wheel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Syntax (General)==&lt;br /&gt;
* PCRE regular expression search &amp;amp; replacements&lt;br /&gt;
* Tag snapping, to make the cursor jump to &amp;lt; and &amp;gt; 's for easier selection, both on the mouse cursor and keyboard shortcut&lt;br /&gt;
* Multiple &amp;quot;Hot Spot&amp;quot; areas in code completion syntax, and hot keys that will scroll through them (so after typing an if/while/for conditional you can hit a hot key to place the cursor between the braces).&lt;br /&gt;
* Support for more than one SCRIPT_BEGIN and SCRIPT_END in syntax files (helps with [[heredoc]] syntax).&lt;br /&gt;
* A new (and configurable) option to indent code (syntax based).&lt;br /&gt;
* Ability to handle [[nested comments]].&lt;br /&gt;
* Solving the ambiguity in brace matching oocuring at the right square bracket in: [asdf]{asdf}. Fx always look at the brace to the left...&lt;br /&gt;
* Ability to sort Syntax File Types by description or file extension&lt;br /&gt;
* Beat the current 30 syntax files limit. The number of allowed syntax files should be possibly unlimited or there should be at least a much higher limit like 500 entries.&lt;br /&gt;
* A dockable window (at right) with the list of functions in the file. If you click the function name, the cursor of the edit window takes you to the beginning of the function&lt;br /&gt;
* Ability to remove/modify/restore the &amp;quot;default file types&amp;quot; when it will never be needed.&lt;br /&gt;
* Ability to change tagnames to lower case.&lt;br /&gt;
&lt;br /&gt;
===Syntax Hints===&lt;br /&gt;
* OpenOffice-style word autocompletion for all frequently used words in the document. For example if the word 'function' was used multiple times in the document and you start typing 'fun' then the 'ction' should appear with a dotted border underneath. If you then press enter the cursor jumps to the end of the word. This feature is interoperable with the currently offered autocompletion: pressing space after function would insert the function stub from the acp file. This is a huge timesaver for me in OpenOffice, and I imagine EditPlus would benefit greatly from it also.&lt;br /&gt;
* DOM Capability. Ability to list DOM objects in a dropdown list. For example, in ASP when you type Response+Period then all the DOM selections for the Response object could be in the dropdown list.  Just like in Visual Studio.&lt;br /&gt;
: &amp;quot;Intellisense&amp;quot; is the word you're looking for&lt;br /&gt;
&lt;br /&gt;
===Syntax Highlight===&lt;br /&gt;
* Ability to specify background as well as text color.&lt;br /&gt;
* * Ability to specify background colours and font effects (bold, italic, underlined) in syntax highlighting. This can make comments much easier to find, and be a very powerful aid for quote matching etc.&lt;br /&gt;
* Ability to highlight variables ( $scalar and $array[elements] ) in quoted string (Very very useful for script languages with string expansion like PHP or perl).&lt;br /&gt;
* Ability to highlight special characters in quoted strings (like \r, \n, \t, \x0F etc.).&lt;br /&gt;
* along with #COMMENTON and #COMMENTOFF, it would be nice to have #CODEON and #CODEOFF (i.e. everything outside of the specified delimiters is a comment by default).  #COMMENTOFF and #COMMENTON work for that (essentially reverse the usage), except for the text before the placement for #CODEON.  useful for Verisity's Specman e-language, since code is bracketed by &amp;lt;' and '&amp;gt;, and all else is comments.  Still need to be able to use the #COMMENTON and #COMMENTOFF concurrently with the #CODEON and #CODEOFF though, as comments can reside in the bracketed code too.  more explanation, or example e file: parkerjd@tampabay.rr.com&lt;br /&gt;
*ability to specify multiple-word keywords for syntax file (e.g. verilog import)  together they highlight, separately they do not highlight unless specified on a separate line for each.  maybe the CR/LF is the delimiter to use, or allow us to escape the space delimiter?&lt;br /&gt;
* ability to specify the folder containing the cliptext files (.ctl)&lt;br /&gt;
* ability to select another ''htmlbar.acp'' and ''template.html'' than the default ones (especially in a different location than the installation folder)&lt;br /&gt;
* Allow user additions to htmlbar and update standard HTML code especially now css class and style tags are very common&lt;br /&gt;
* Within comments, highlight words such as &amp;quot;FIXME&amp;quot;, &amp;quot;TODO&amp;quot; and &amp;quot;XXX&amp;quot; &lt;br /&gt;
* Ability to copy syntax highlighted texts to clipboard as rtf or html&lt;br /&gt;
* Change syntax highlighting for current file more directly, such as through a drop-down.&lt;br /&gt;
* Fix so that #SCRIPT_END in comments would not brake syntax highlighting.&lt;br /&gt;
* Option to ignore .stx keywords in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Intelligent heredoc syntax highlighting. For example, in PHP I may begin a block of SQL code like such: &amp;quot;$query = &amp;lt;&amp;lt;&amp;lt;SQL&amp;quot; and end it with &amp;quot;SQL;&amp;quot;. EditPlus could take advantage of my hint (&amp;quot;SQL&amp;quot;) and know to highlight this block with the syntax file associated with file of extension of &amp;quot;.sql&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Code Folding===&lt;br /&gt;
* [[Code folding]] for functions and any block of code, configurable for every language. '''''(introduced in v2.30, although it's only able to fold indented code)'''''&lt;br /&gt;
* [[Code folding]] syntax based better than indent based as v2.30 do. (v2.30 folds even the commented code and folds not commented lines after one-line-commented line)&lt;br /&gt;
* Ability to put a button in the toolbar to toggle [[Code folding]] on/off&lt;br /&gt;
* Option to default all open files to 'Collapse All'&lt;br /&gt;
&lt;br /&gt;
===Font Handling===&lt;br /&gt;
* Ability to simulate zooming in and out by increasing the font size on Ctrl+Mouse scroll wheel (like ms-word or even notepad2)&lt;br /&gt;
&lt;br /&gt;
==Unicode==&lt;br /&gt;
* Full UTF-8 Support&lt;br /&gt;
* Unicode UTF-8/16/32 Support&lt;br /&gt;
* Codepage autodetection for opened files, or, at least, possibility to choose the default codepage for all/certain types of files.&lt;br /&gt;
* Support right-to-left mode for Hebrew, Arabic, etc.&lt;br /&gt;
* UTF-8 support for Cliptext files (*.ctl)&lt;br /&gt;
&lt;br /&gt;
==FTP==&lt;br /&gt;
* Encrypted site manager with a master password.  This needs strong encryption - blowfish or better.  This way if my computer is stolen, a bad person can't deface the web pages of my clients!&lt;br /&gt;
** Store passwords as plain text (like Pidgin does) so owner won't think they're already secure as they aren't&lt;br /&gt;
* SFTP Support&lt;br /&gt;
** Public key auth&lt;br /&gt;
:'''''(from v2.2 What's New: &amp;quot;Experimental 'Use sftp' option (File-&amp;gt;FTP-&amp;gt;FTP Settings, Works only on Windows XP and higher).&amp;quot;, but does not work properly on keyboard-interactive authorization.)'''''&lt;br /&gt;
:'''''If you are having trouble connecting to a server via SFTP, see [[FTP/SFTP#SFTP_Fix_for_OpenSSH|this fix]]'''''&lt;br /&gt;
* Ability to sort FTP accounts in the FTP Settings window.  The current ordering is unpredictable, and a pain when you have a lot of FTP accounts configured&lt;br /&gt;
* Ability to group accounts in a hierarchical structure&lt;br /&gt;
* FTP transfer (saving / opening) should not be modal, waiting for the transfer to complete wastes time, which can be better spent editing other files for example.&lt;br /&gt;
* Option to enable not to load ftp files until their related document window is activated when loading projects or workspace files.&lt;br /&gt;
* In the &amp;quot;Open Remote File&amp;quot; Dialogue box, when you type in a file or directory name that is not present in the current directory you receive an error message &amp;quot;The file transfer failed . . . &amp;quot; and the Open Remote File dialogue box closes.  Instead of closing the Open Remote File dialogue box, it should stay open and allow you to try typing the correct name.&lt;br /&gt;
* The ftp feature is very nice but why just UPLOAD... DOWNLOAD (even binaries) would be a nice touch.&lt;br /&gt;
* Asociate one URL with each ftp account. If i check View-&amp;gt;View in browser, it always ask for the url.&lt;br /&gt;
&lt;br /&gt;
==Search / Replace==&lt;br /&gt;
* Incremental Search support&lt;br /&gt;
* Ability to search/replace higher ANSI/non-printable ASCII characters (which are usually displayed as small boxes within EditPlus and cannot be copied and pasted into the search/replace dialogue). The hex value of those characters can be e. g. 0D, 3B, etc. In Perl they can be replaced with &amp;lt;tt&amp;gt;s/\x0D//&amp;lt;/tt&amp;gt;&lt;br /&gt;
* When doing a &amp;quot;Find in Files&amp;quot;, defining file type field to include some files and exclude some other files would be practical. For example, &amp;quot;*.c;*.p* -*.pdb&amp;quot; or &amp;quot;*.* -*.exe;-*.obj&amp;quot; would make it easy to filter out some files that we are not interested.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
* Separate settings per user. Store the settings and FTP sites on a per user basis in the users' Local Settings/Application Data Folder.&lt;br /&gt;
* Color Selector to select any color on the screen, even outside of the editplus window. Shows the resulting color, the html color code and the rgb color code.&lt;br /&gt;
* Filter file type option in the left directory panel.&lt;br /&gt;
* Ability to set the backup folder for an individual project would be nice. If I specified a general folder, I would only have one index.bak file.&lt;br /&gt;
* Keyboard shortcut to rename files in the Directory Window (F2 comes to mind)&lt;br /&gt;
* Folding-tree navigation for Directory Window&lt;br /&gt;
* Option to Minimise to Tray instead of Closing. This should allow the user to click the &amp;quot;Close [X]&amp;quot; button or hit whichever key that is set to exit/close Editplus but let the program minimise to tray instead. A very useful feature found in quite a few popular editors.&lt;br /&gt;
* Ability to open different files in splitter window mode.&lt;br /&gt;
* View/Edit file in hexadecimal&lt;br /&gt;
* View '.htaccess' files as &amp;quot;Common Files&amp;quot;, Or add a 'hide files filter list' so that for example all files except '*.bak' can be shown.&lt;br /&gt;
* An entry in Directory Toolbar which brings a list of the open files in Document Selector in alphabetical order.&lt;br /&gt;
* Ability to place User Tools 11-20 on the User Toolbar&lt;br /&gt;
* Ability to use user-icons for User Tools&lt;br /&gt;
* A keyboard shortcut to go to previous cursor position(s) when cursor is moved with mouse, search or paste. Like ^Q/^P in WordStar editor.&lt;br /&gt;
* An option to keep the cursor position after a column paste&lt;br /&gt;
* A WinXP/Vista x64 version of Editplus&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Feature_Requests</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Feature_Requests"/>
				<updated>2008-05-11T12:00:34Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Miscellaneous */ Duplicate request&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Syntax (General)==&lt;br /&gt;
* PCRE regular expression search &amp;amp; replacements&lt;br /&gt;
* Tag snapping, to make the cursor jump to &amp;lt; and &amp;gt; 's for easier selection, both on the mouse cursor and keyboard shortcut&lt;br /&gt;
* Multiple &amp;quot;Hot Spot&amp;quot; areas in code completion syntax, and hot keys that will scroll through them (so after typing an if/while/for conditional you can hit a hot key to place the cursor between the braces).&lt;br /&gt;
* Support for more than one SCRIPT_BEGIN and SCRIPT_END in syntax files (helps with [[heredoc]] syntax).&lt;br /&gt;
* A new (and configurable) option to indent code (syntax based).&lt;br /&gt;
* Ability to handle [[nested comments]].&lt;br /&gt;
* Solving the ambiguity in brace matching oocuring at the right square bracket in: [asdf]{asdf}. Fx always look at the brace to the left...&lt;br /&gt;
* Ability to sort Syntax File Types by description or file extension&lt;br /&gt;
* Beat the current 30 syntax files limit. The number of allowed syntax files should be possibly unlimited or there should be at least a much higher limit like 500 entries.&lt;br /&gt;
* A dockable window (at right) with the list of functions in the file. If you click the function name, the cursor of the edit window takes you to the beginning of the function&lt;br /&gt;
* Ability to remove/modify/restore the &amp;quot;default file types&amp;quot; when it will never be needed.&lt;br /&gt;
* Ability to change tagnames to lower case.&lt;br /&gt;
&lt;br /&gt;
===Syntax Hints===&lt;br /&gt;
* OpenOffice-style word autocompletion for all frequently used words in the document. For example if the word 'function' was used multiple times in the document and you start typing 'fun' then the 'ction' should appear with a dotted border underneath. If you then press enter the cursor jumps to the end of the word. This feature is interoperable with the currently offered autocompletion: pressing space after function would insert the function stub from the acp file. This is a huge timesaver for me in OpenOffice, and I imagine EditPlus would benefit greatly from it also.&lt;br /&gt;
* DOM Capability. Ability to list DOM objects in a dropdown list. For example, in ASP when you type Response+Period then all the DOM selections for the Response object could be in the dropdown list.  Just like in Visual Studio.&lt;br /&gt;
: &amp;quot;Intellisense&amp;quot; is the word you're looking for&lt;br /&gt;
&lt;br /&gt;
===Syntax Highlight===&lt;br /&gt;
* Ability to specify background as well as text color.&lt;br /&gt;
* * Ability to specify background colours and font effects (bold, italic, underlined) in syntax highlighting. This can make comments much easier to find, and be a very powerful aid for quote matching etc.&lt;br /&gt;
* Ability to highlight variables ( $scalar and $array[elements] ) in quoted string (Very very useful for script languages with string expansion like PHP or perl).&lt;br /&gt;
* Ability to highlight special characters in quoted strings (like \r, \n, \t, \x0F etc.).&lt;br /&gt;
* along with #COMMENTON and #COMMENTOFF, it would be nice to have #CODEON and #CODEOFF (i.e. everything outside of the specified delimiters is a comment by default).  #COMMENTOFF and #COMMENTON work for that (essentially reverse the usage), except for the text before the placement for #CODEON.  useful for Verisity's Specman e-language, since code is bracketed by &amp;lt;' and '&amp;gt;, and all else is comments.  Still need to be able to use the #COMMENTON and #COMMENTOFF concurrently with the #CODEON and #CODEOFF though, as comments can reside in the bracketed code too.  more explanation, or example e file: parkerjd@tampabay.rr.com&lt;br /&gt;
*ability to specify multiple-word keywords for syntax file (e.g. verilog import)  together they highlight, separately they do not highlight unless specified on a separate line for each.  maybe the CR/LF is the delimiter to use, or allow us to escape the space delimiter?&lt;br /&gt;
* ability to specify the folder containing the cliptext files (.ctl)&lt;br /&gt;
* ability to select another ''htmlbar.acp'' and ''template.html'' than the default ones (especially in a different location than the installation folder)&lt;br /&gt;
* Allow user additions to htmlbar and update standard HTML code especially now css class and style tags are very common&lt;br /&gt;
* Within comments, highlight words such as &amp;quot;FIXME&amp;quot;, &amp;quot;TODO&amp;quot; and &amp;quot;XXX&amp;quot; &lt;br /&gt;
* Ability to copy syntax highlighted texts to clipboard as rtf or html&lt;br /&gt;
* Change syntax highlighting for current file more directly, such as through a drop-down.&lt;br /&gt;
* Fix so that #SCRIPT_END in comments would not brake syntax highlighting.&lt;br /&gt;
* Option to ignore .stx keywords in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Intelligent heredoc syntax highlighting. For example, in PHP I may begin a block of SQL code like such: &amp;quot;$query = &amp;lt;&amp;lt;&amp;lt;SQL&amp;quot; and end it with &amp;quot;SQL;&amp;quot;. EditPlus could take advantage of my hint (&amp;quot;SQL&amp;quot;) and know to highlight this block with the syntax file associated with file of extension of &amp;quot;.sql&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Code Folding===&lt;br /&gt;
* [[Code folding]] for functions and any block of code, configurable for every language. '''''(introduced in v2.30, although it's only able to fold indented code)'''''&lt;br /&gt;
* [[Code folding]] syntax based better than indent based as v2.30 do. (v2.30 folds even the commented code and folds not commented lines after one-line-commented line)&lt;br /&gt;
* Ability to put a button in the toolbar to toggle [[Code folding]] on/off&lt;br /&gt;
* Option to default all open files to 'Collapse All'&lt;br /&gt;
&lt;br /&gt;
===Font Handling===&lt;br /&gt;
* Ability to simulate zooming in and out by increasing the font size on Ctrl+MouseScroll (like ms-word or even notepad2)&lt;br /&gt;
&lt;br /&gt;
==Unicode==&lt;br /&gt;
* Full UTF-8 Support&lt;br /&gt;
* Unicode UTF-8/16/32 Support&lt;br /&gt;
* Codepage autodetection for opened files, or, at least, possibility to choose the default codepage for all/certain types of files.&lt;br /&gt;
* Support right-to-left mode for Hebrew, Arabic, etc.&lt;br /&gt;
* UTF-8 support for Cliptext files (*.ctl)&lt;br /&gt;
&lt;br /&gt;
==FTP==&lt;br /&gt;
* Encrypted site manager with a master password.  This needs strong encryption - blowfish or better.  This way if my computer is stolen, a bad person can't deface the web pages of my clients!&lt;br /&gt;
** Store passwords as plain text (like Pidgin does) so owner won't think they're already secure as they aren't&lt;br /&gt;
* SFTP Support&lt;br /&gt;
** Public key auth&lt;br /&gt;
:'''''(from v2.2 What's New: &amp;quot;Experimental 'Use sftp' option (File-&amp;gt;FTP-&amp;gt;FTP Settings, Works only on Windows XP and higher).&amp;quot;, but does not work properly on keyboard-interactive authorization.)'''''&lt;br /&gt;
:'''''If you are having trouble connecting to a server via SFTP, see [[FTP/SFTP#SFTP_Fix_for_OpenSSH|this fix]]'''''&lt;br /&gt;
* Ability to sort FTP accounts in the FTP Settings window.  The current ordering is unpredictable, and a pain when you have a lot of FTP accounts configured&lt;br /&gt;
* Ability to group accounts in a hierarchical structure&lt;br /&gt;
* FTP transfer (saving / opening) should not be modal, waiting for the transfer to complete wastes time, which can be better spent editing other files for example.&lt;br /&gt;
* Option to enable not to load ftp files until their related document window is activated when loading projects or workspace files.&lt;br /&gt;
* In the &amp;quot;Open Remote File&amp;quot; Dialogue box, when you type in a file or directory name that is not present in the current directory you receive an error message &amp;quot;The file transfer failed . . . &amp;quot; and the Open Remote File dialogue box closes.  Instead of closing the Open Remote File dialogue box, it should stay open and allow you to try typing the correct name.&lt;br /&gt;
* The ftp feature is very nice but why just UPLOAD... DOWNLOAD (even binaries) would be a nice touch.&lt;br /&gt;
* Asociate one URL with each ftp account. If i check View-&amp;gt;View in browser, it always ask for the url.&lt;br /&gt;
&lt;br /&gt;
==Search / Replace==&lt;br /&gt;
* Incremental Search support&lt;br /&gt;
* Ability to search/replace higher ANSI/non-printable ASCII characters (which are usually displayed as small boxes within EditPlus and cannot be copied and pasted into the search/replace dialogue). The hex value of those characters can be e. g. 0D, 3B, etc. In Perl they can be replaced with &amp;lt;tt&amp;gt;s/\x0D//&amp;lt;/tt&amp;gt;&lt;br /&gt;
* When doing a &amp;quot;Find in Files&amp;quot;, defining file type field to include some files and exclude some other files would be practical. For example, &amp;quot;*.c;*.p* -*.pdb&amp;quot; or &amp;quot;*.* -*.exe;-*.obj&amp;quot; would make it easy to filter out some files that we are not interested.&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
* Separate settings per user. Store the settings and FTP sites on a per user basis in the users' Local Settings/Application Data Folder.&lt;br /&gt;
* Color Selector to select any color on the screen, even outside of the editplus window. Shows the resulting color, the html color code and the rgb color code.&lt;br /&gt;
* Filter file type option in the left directory panel.&lt;br /&gt;
* Ability to set the backup folder for an individual project would be nice. If I specified a general folder, I would only have one index.bak file.&lt;br /&gt;
* Keyboard shortcut to rename files in the Directory Window (F2 comes to mind)&lt;br /&gt;
* Folding-tree navigation for Directory Window&lt;br /&gt;
* Option to Minimise to Tray instead of Closing. This should allow the user to click the &amp;quot;Close [X]&amp;quot; button or hit whichever key that is set to exit/close Editplus but let the program minimise to tray instead. A very useful feature found in quite a few popular editors.&lt;br /&gt;
* Ability to open different files in splitter window mode.&lt;br /&gt;
* View/Edit file in hexadecimal&lt;br /&gt;
* View '.htaccess' files as &amp;quot;Common Files&amp;quot;, Or add a 'hide files filter list' so that for example all files except '*.bak' can be shown.&lt;br /&gt;
* An entry in Directory Toolbar which brings a list of the open files in Document Selector in alphabetical order.&lt;br /&gt;
* Ability to place User Tools 11-20 on the User Toolbar&lt;br /&gt;
* Ability to use user-icons for User Tools&lt;br /&gt;
* A keyboard shortcut to go to previous cursor position(s) when cursor is moved with mouse, search or paste. Like ^Q/^P in WordStar editor.&lt;br /&gt;
* An option to keep the cursor position after a column paste&lt;br /&gt;
* A WinXP/Vista x64 version of Editplus&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-04-14T07:27:12Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: New version v3.01 (build 446)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Latest Version==&lt;br /&gt;
&lt;br /&gt;
v3.01 (build 446), released on April 14, 2008, available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;(latest major version, v3.00 build 323, was released on February, 11 2008)&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
'''For installation on computers that do not have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Run the executable installer, selecting the directories in which INI (settings) and syntax (STX) files should be installed. (Auto-complete (ACP) and cliptext (CTX) files will go in the same directory as syntax files.)&lt;br /&gt;
&lt;br /&gt;
'''For Installation on computers that have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Do not uninstall version 2. Versions 2 and 3 can co-exist on the same computer.&lt;br /&gt;
&lt;br /&gt;
2. Install version 3 as described above.&lt;br /&gt;
&lt;br /&gt;
3. Copy any non-standard syntax, auto-complete, and cliptext files from the version 2 installation to the location chosen for version 3.&lt;br /&gt;
&lt;br /&gt;
4. Optionally, uninstall version 2 after confirming that version 3 works as desired.&lt;br /&gt;
&lt;br /&gt;
==Latest Patch==&lt;br /&gt;
None, at the moment.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Extract the files contained inside the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
==Upcoming version==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
===Beta releases===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
==Localizations==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
==What's New in Version 3.01==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
This is a bug patch release which accumulates previous bug patch files.&lt;br /&gt;
* The default encoding of open file follows system language instead of keyboard language.&lt;br /&gt;
* User tool setting could not handle more than 500 characters.&lt;br /&gt;
* Increases max number of projects to 500.&lt;br /&gt;
* 'New' command on the Cliptext Window did not work.&lt;br /&gt;
* Default encoding setting did not apply to new document.&lt;br /&gt;
* Upward Regular expression replace did not work correctly.&lt;br /&gt;
* 'Cut Marked Lines' did not work correctly with selected text.&lt;br /&gt;
* -n command-line option did not work with existing instance.&lt;br /&gt;
* Browser menu could temporarily cause program freeze.&lt;br /&gt;
* Regular expression '.' could cause program crash.&lt;br /&gt;
* Supports RSA signature algorithm for sftp.&lt;br /&gt;
* Fixes a keyboard input bug with Korean special characters.&lt;br /&gt;
* Supports 'Auto Run' user tool groups.&lt;br /&gt;
* 'Color' and 'Table' button did not work correctly on secondary monitor.&lt;br /&gt;
* 'Hide output' option for the user tool setting.&lt;br /&gt;
* Supports file type based on the first line of file.&lt;br /&gt;
* 'Keyboard Map' did not display the correct result.&lt;br /&gt;
* Replace in column selection could cause program crash.&lt;br /&gt;
* Opening a file from project could cause program crash if the file does not exist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==What's New in Version 3.00==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-04-09T08:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Upcoming version */ v3.01 (RC)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v3.00 (build 323, [[#Latest Patch|patched]] to 336) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on February, 11 2008&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
*For beta testers: EditPlus v3.00 released on 2008-02-11 is different from EditPlus 3.00 beta build 323 (2008-02-06) (&amp;quot;Release Candidate 7&amp;quot;): although there are no new features or bug fixes, it no longer says &amp;quot;beta&amp;quot; in the About message box.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''For installation on computers that do not have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Run the executable installer, selecting the directories in which INI (settings) and syntax (STX) files should be installed. (Auto-complete (ACP) and cliptext (CTX) files will go in the same directory as syntax files.)&lt;br /&gt;
&lt;br /&gt;
'''For Installation on computers that have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Do not uninstall version 2. Versions 2 and 3 can co-exist on the same computer.&lt;br /&gt;
&lt;br /&gt;
2. Install version 3 as described above.&lt;br /&gt;
&lt;br /&gt;
3. Copy any non-standard syntax, auto-complete, and cliptext files from the version 2 installation to the location chosen for version 3.&lt;br /&gt;
&lt;br /&gt;
4. Optionally, uninstall version 2 after confirming that version 3 works as desired.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
DATE: 2008-02-19&lt;br /&gt;
BUILD: 336&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
* The default encoding of open file follows system language instead of keyboard language.&lt;br /&gt;
* User tool setting could not handle more than 500 characters.&lt;br /&gt;
* Increases max number of projects to 200.&lt;br /&gt;
* 'New' command on the Cliptext Window did not work.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files contained inside the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
v3.01, currently in Release Candidate state, available to beta testers only.&lt;br /&gt;
&amp;lt;!-- None at the moment. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 3.00 ==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Generic_resources</id>
		<title>Generic resources</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Generic_resources"/>
				<updated>2008-03-30T20:23:14Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: The linked icon was EditPlus specific&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''This is a list of resources on EditPlus Wiki that can be useful for non EditPlus users as well''&lt;br /&gt;
&lt;br /&gt;
*[[Alternative Editors]]&lt;br /&gt;
*[[Fonts]]&lt;br /&gt;
*[[Lorem ipsum]]&lt;br /&gt;
*[[Testing text]]&lt;br /&gt;
*[[Search and Replace Tricks]] ''(might not work as expected with the replace function of other editors)''&lt;br /&gt;
*[[Editable system files]]&lt;br /&gt;
*[[Newsgroups]] about coding in various languages&lt;br /&gt;
*[[Heredoc]]&lt;br /&gt;
*[[Writing a text filter]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Main_Page"/>
				<updated>2008-03-30T20:22:44Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Protected &amp;quot;Main Page&amp;quot;: Home Page [edit=sysop:move=sysop]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.editplus.info/ EditPlus Wiki] exists to provide users of the excellent [[EditPlus]] text-editor with a freely available and community-contributed information resource. You are invited to add information that you think would be useful to current and future EditPlus users. The only policy is that you contribute freely and respect the work of the community.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[Releases|Releases and Latest Version]]&lt;br /&gt;
*[[FAQ|FAQ - Frequently Asked Questions]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
**[[User Tools]]&lt;br /&gt;
**[[HTML Toolbar]]&lt;br /&gt;
**[[Regular Expressions]]&lt;br /&gt;
***[[Regular expression syntax|Regular Expression syntax]]&lt;br /&gt;
***[[Search and Replace Tricks]]&lt;br /&gt;
**[[Keyboard Shortcuts]]&lt;br /&gt;
**[[FTP/SFTP]]&lt;br /&gt;
*[[WinSCP|WinSCP (Remote File Access)]]&lt;br /&gt;
*[[Undocumented Tricks]]&lt;br /&gt;
*[[Running on a USB flash drive]]&lt;br /&gt;
*[[Running on Linux]]&lt;br /&gt;
*[[Fonts]]&lt;br /&gt;
*[[Known Issues]]&lt;br /&gt;
*[[Generic resources]] - ''Resources on EditPlus Wiki that can be useful for non EditPlus users too''&lt;br /&gt;
&lt;br /&gt;
===Resources for coders===&lt;br /&gt;
*[[Syntax files]]&lt;br /&gt;
*[[Syntax file format]]&lt;br /&gt;
*[[Writing a text filter]]&lt;br /&gt;
*[[Newsgroups]] about coding in various languages&lt;br /&gt;
&lt;br /&gt;
==Feedback==&lt;br /&gt;
*[[Feature Requests]]&lt;br /&gt;
*[[Wishlist|Wiki Content Wishlist]]&lt;br /&gt;
*[[Reviews]]&lt;br /&gt;
*[[Alternative Editors]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*EditPlus: [http://www.editplus.com/ homepage] - [http://www.editplus.com/download.html download page] - [http://www.editplus.com/screen.html screenshots] - [http://www.editplus.com/files.html syntax files]&lt;br /&gt;
*[http://www.terminallearning.com/webtech/editplus.html EditPlus Tutorial]&lt;br /&gt;
*[http://groups.yahoo.com/group/editplus/ EditPlus Yahoo! Group] - Very active, about 50 messages per month.&lt;br /&gt;
*[http://groups.google.com/group/EditPlus/ EditPlus Google Groups] - Not very active.&lt;br /&gt;
*[http://meta.wikipedia.org/wiki/MediaWiki_User's_Guide MediaWiki User's Guide]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Main_Page"/>
				<updated>2008-03-30T20:20:21Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Reverted edits by Rory22 (Talk); changed back to last version by ElfQrin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.editplus.info/ EditPlus Wiki] exists to provide users of the excellent [[EditPlus]] text-editor with a freely available and community-contributed information resource. You are invited to add information that you think would be useful to current and future EditPlus users. The only policy is that you contribute freely and respect the work of the community.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[Releases|Releases and Latest Version]]&lt;br /&gt;
*[[FAQ|FAQ - Frequently Asked Questions]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
**[[User Tools]]&lt;br /&gt;
**[[HTML Toolbar]]&lt;br /&gt;
**[[Regular Expressions]]&lt;br /&gt;
***[[Regular expression syntax|Regular Expression syntax]]&lt;br /&gt;
***[[Search and Replace Tricks]]&lt;br /&gt;
**[[Keyboard Shortcuts]]&lt;br /&gt;
**[[FTP/SFTP]]&lt;br /&gt;
*[[WinSCP|WinSCP (Remote File Access)]]&lt;br /&gt;
*[[Undocumented Tricks]]&lt;br /&gt;
*[[Running on a USB flash drive]]&lt;br /&gt;
*[[Running on Linux]]&lt;br /&gt;
*[[Fonts]]&lt;br /&gt;
*[[Known Issues]]&lt;br /&gt;
*[[Generic resources]] - ''Resources on EditPlus Wiki that can be useful for non EditPlus users too''&lt;br /&gt;
&lt;br /&gt;
===Resources for coders===&lt;br /&gt;
*[[Syntax files]]&lt;br /&gt;
*[[Syntax file format]]&lt;br /&gt;
*[[Writing a text filter]]&lt;br /&gt;
*[[Newsgroups]] about coding in various languages&lt;br /&gt;
&lt;br /&gt;
==Feedback==&lt;br /&gt;
*[[Feature Requests]]&lt;br /&gt;
*[[Wishlist|Wiki Content Wishlist]]&lt;br /&gt;
*[[Reviews]]&lt;br /&gt;
*[[Alternative Editors]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*EditPlus: [http://www.editplus.com/ homepage] - [http://www.editplus.com/download.html download page] - [http://www.editplus.com/screen.html screenshots] - [http://www.editplus.com/files.html syntax files]&lt;br /&gt;
*[http://www.terminallearning.com/webtech/editplus.html EditPlus Tutorial]&lt;br /&gt;
*[http://groups.yahoo.com/group/editplus/ EditPlus Yahoo! Group] - Very active, about 50 messages per month.&lt;br /&gt;
*[http://groups.google.com/group/EditPlus/ EditPlus Google Groups] - Not very active.&lt;br /&gt;
*[http://meta.wikipedia.org/wiki/MediaWiki_User's_Guide MediaWiki User's Guide]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-03-10T19:22:37Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Fix punctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Fix punctuation==&lt;br /&gt;
Find: &amp;quot;([\.\,\;\:\?\!])([a-zA-Z])&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1 \2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;How are you?I'm fine,thanks.&amp;quot;, after: &amp;quot;How are you? I'm fine, thanks.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: If you want to use this statement in a Wiki context, remove &amp;quot;\:&amp;quot; from the search string, otherwise you may break Wiki metatags, for example &amp;lt;nowiki&amp;gt;[[Category:Example]]&amp;lt;/nowiki&amp;gt; will be replaced by &amp;lt;nowiki&amp;gt;[[Category: Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-26T20:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Italicized notes that weren't&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-26T20:20:19Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Wrap a tag pair around a text */ nowiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-26T20:19:28Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Wrap a tag pair around a text; Wikification: Link all elements of a list; Wikification: Link all elements of a list, changing the linked text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wrap a tag pair around a text==&lt;br /&gt;
Find: &amp;quot;(bold)&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;b&amp;gt;\1&amp;lt;/b&amp;gt;&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;bold&amp;quot;, after: &amp;quot;&amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Wikification: Link all elements of a list, changing the linked text==&lt;br /&gt;
Find: &amp;quot;(\*)(.*)$&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;lt;nowiki&amp;gt;\1[[\2_(category)|\2]]&amp;lt;/nowiki&amp;gt;&amp;quot; (without quotes)&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;&amp;lt;nowiki&amp;gt;*Example&amp;lt;/nowiki&amp;gt;&amp;quot;, after: &amp;quot;&amp;lt;nowiki&amp;gt;*[[Example|Example_(category)]]&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_replace_tricks</id>
		<title>Search and replace tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_replace_tricks"/>
				<updated>2008-02-26T20:11:35Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Redirecting to Search and Replace Tricks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Search and Replace Tricks]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_tricks</id>
		<title>Search and Replace tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_tricks"/>
				<updated>2008-02-26T20:11:00Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Redirecting to Search and Replace Tricks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Search and Replace Tricks]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-02-19T00:47:02Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Latest Version */ Patched to build 336&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v3.00 (build 323, [[#Latest Patch|patched]] to 336) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on February, 11 2008&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
*For beta testers: EditPlus v3.00 released on 2008-02-11 is different from EditPlus 3.00 beta build 323 (2008-02-06) (&amp;quot;Release Candidate 7&amp;quot;): although there are no new features or bug fixes, it no longer says &amp;quot;beta&amp;quot; in the About message box.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''For installation on computers that do not have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Run the executable installer, selecting the directories in which INI (settings) and syntax (STX) files should be installed. (Auto-complete (ACP) and cliptext (CTX) files will go in the same directory as syntax files.)&lt;br /&gt;
&lt;br /&gt;
'''For Installation on computers that have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Do not uninstall version 2. Versions 2 and 3 can co-exist on the same computer.&lt;br /&gt;
&lt;br /&gt;
2. Install version 3 as described above.&lt;br /&gt;
&lt;br /&gt;
3. Copy any non-standard syntax, auto-complete, and cliptext files from the version 2 installation to the location chosen for version 3.&lt;br /&gt;
&lt;br /&gt;
4. Optionally, uninstall version 2 after confirming that version 3 works as desired.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
DATE: 2008-02-19&lt;br /&gt;
BUILD: 336&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
* The default encoding of open file follows system language instead of keyboard language.&lt;br /&gt;
* User tool setting could not handle more than 500 characters.&lt;br /&gt;
* Increases max number of projects to 200.&lt;br /&gt;
* 'New' command on the Cliptext Window did not work.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files contained inside the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 3.00 ==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-02-19T00:44:51Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Latest Patch */ DATE: 2008-02-19 BUILD: 336&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v3.00 (323) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on February, 11 2008&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
*For beta testers: EditPlus v3.00 released on 2008-02-11 is different from EditPlus 3.00 beta build 323 (2008-02-06) (&amp;quot;Release Candidate 7&amp;quot;): although there are no new features or bug fixes, it no longer says &amp;quot;beta&amp;quot; in the About message box.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''For installation on computers that do not have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Run the executable installer, selecting the directories in which INI (settings) and syntax (STX) files should be installed. (Auto-complete (ACP) and cliptext (CTX) files will go in the same directory as syntax files.)&lt;br /&gt;
&lt;br /&gt;
'''For Installation on computers that have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Do not uninstall version 2. Versions 2 and 3 can co-exist on the same computer.&lt;br /&gt;
&lt;br /&gt;
2. Install version 3 as described above.&lt;br /&gt;
&lt;br /&gt;
3. Copy any non-standard syntax, auto-complete, and cliptext files from the version 2 installation to the location chosen for version 3.&lt;br /&gt;
&lt;br /&gt;
4. Optionally, uninstall version 2 after confirming that version 3 works as desired.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
DATE: 2008-02-19&lt;br /&gt;
BUILD: 336&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
* The default encoding of open file follows system language instead of keyboard language.&lt;br /&gt;
* User tool setting could not handle more than 500 characters.&lt;br /&gt;
* Increases max number of projects to 200.&lt;br /&gt;
* 'New' command on the Cliptext Window did not work.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files contained inside the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 3.00 ==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-02-18T10:09:51Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Latest Patch */ patch available to beta testers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v3.00 (323) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on February, 11 2008&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
*For beta testers: EditPlus v3.00 released on 2008-02-11 is different from EditPlus 3.00 beta build 323 (2008-02-06) (&amp;quot;Release Candidate 7&amp;quot;): although there are no new features or bug fixes, it no longer says &amp;quot;beta&amp;quot; in the About message box.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''For installation on computers that do not have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Run the executable installer, selecting the directories in which INI (settings) and syntax (STX) files should be installed. (Auto-complete (ACP) and cliptext (CTX) files will go in the same directory as syntax files.)&lt;br /&gt;
&lt;br /&gt;
'''For Installation on computers that have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Do not uninstall version 2. Versions 2 and 3 can co-exist on the same computer.&lt;br /&gt;
&lt;br /&gt;
2. Install version 3 as described above.&lt;br /&gt;
&lt;br /&gt;
3. Copy any non-standard syntax, auto-complete, and cliptext files from the version 2 installation to the location chosen for version 3.&lt;br /&gt;
&lt;br /&gt;
4. Optionally, uninstall version 2 after confirming that version 3 works as desired.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
None released to the public yet: currently there's a bug fix and enhancement patch available to [[#Beta releases|beta testers]] only.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files contained inside the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 3.00 ==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Main_Page"/>
				<updated>2008-02-16T00:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Resources for coders */ Writing a text filter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.editplus.info/ EditPlus Wiki] exists to provide users of the excellent [[EditPlus]] text-editor with a freely available and community-contributed information resource. You are invited to add information that you think would be useful to current and future EditPlus users. The only policy is that you contribute freely and respect the work of the community.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[Releases|Releases and Latest Version]]&lt;br /&gt;
*[[FAQ|FAQ - Frequently Asked Questions]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
**[[User Tools]]&lt;br /&gt;
**[[HTML Toolbar]]&lt;br /&gt;
**[[Regular Expressions]]&lt;br /&gt;
***[[Regular expression syntax|Regular Expression syntax]]&lt;br /&gt;
***[[Search and Replace Tricks]]&lt;br /&gt;
**[[Keyboard Shortcuts]]&lt;br /&gt;
**[[FTP/SFTP]]&lt;br /&gt;
*[[WinSCP|WinSCP (Remote File Access)]]&lt;br /&gt;
*[[Undocumented Tricks]]&lt;br /&gt;
*[[Running on a USB flash drive]]&lt;br /&gt;
*[[Running on Linux]]&lt;br /&gt;
*[[Fonts]]&lt;br /&gt;
*[[Known Issues]]&lt;br /&gt;
*[[Generic resources]] - ''Resources on EditPlus Wiki that can be useful for non EditPlus users too''&lt;br /&gt;
&lt;br /&gt;
===Resources for coders===&lt;br /&gt;
*[[Syntax files]]&lt;br /&gt;
*[[Syntax file format]]&lt;br /&gt;
*[[Writing a text filter]]&lt;br /&gt;
*[[Newsgroups]] about coding in various languages&lt;br /&gt;
&lt;br /&gt;
==Feedback==&lt;br /&gt;
*[[Feature Requests]]&lt;br /&gt;
*[[Wishlist|Wiki Content Wishlist]]&lt;br /&gt;
*[[Reviews]]&lt;br /&gt;
*[[Alternative Editors]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*EditPlus: [http://www.editplus.com/ homepage] - [http://www.editplus.com/download.html download page] - [http://www.editplus.com/screen.html screenshots] - [http://www.editplus.com/files.html syntax files]&lt;br /&gt;
*[http://www.terminallearning.com/webtech/editplus.html EditPlus Tutorial]&lt;br /&gt;
*[http://groups.yahoo.com/group/editplus/ EditPlus Yahoo! Group] - Very active, about 50 messages per month.&lt;br /&gt;
*[http://groups.google.com/group/EditPlus/ EditPlus Google Groups] - Not very active.&lt;br /&gt;
*[http://meta.wikipedia.org/wiki/MediaWiki_User's_Guide MediaWiki User's Guide]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Main_Page"/>
				<updated>2008-02-16T00:11:34Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: &amp;quot;Resources for coders&amp;quot; moved as a subsection of &amp;quot;Resources&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.editplus.info/ EditPlus Wiki] exists to provide users of the excellent [[EditPlus]] text-editor with a freely available and community-contributed information resource. You are invited to add information that you think would be useful to current and future EditPlus users. The only policy is that you contribute freely and respect the work of the community.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[Releases|Releases and Latest Version]]&lt;br /&gt;
*[[FAQ|FAQ - Frequently Asked Questions]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
**[[User Tools]]&lt;br /&gt;
**[[HTML Toolbar]]&lt;br /&gt;
**[[Regular Expressions]]&lt;br /&gt;
***[[Regular expression syntax|Regular Expression syntax]]&lt;br /&gt;
***[[Search and Replace Tricks]]&lt;br /&gt;
**[[Keyboard Shortcuts]]&lt;br /&gt;
**[[FTP/SFTP]]&lt;br /&gt;
*[[WinSCP|WinSCP (Remote File Access)]]&lt;br /&gt;
*[[Undocumented Tricks]]&lt;br /&gt;
*[[Running on a USB flash drive]]&lt;br /&gt;
*[[Running on Linux]]&lt;br /&gt;
*[[Fonts]]&lt;br /&gt;
*[[Known Issues]]&lt;br /&gt;
*[[Generic resources]] - ''Resources on EditPlus Wiki that can be useful for non EditPlus users too''&lt;br /&gt;
&lt;br /&gt;
===Resources for coders===&lt;br /&gt;
*[[Syntax files]]&lt;br /&gt;
*[[Syntax file format]]&lt;br /&gt;
*[[Newsgroups]] about coding in various languages&lt;br /&gt;
&lt;br /&gt;
==Feedback==&lt;br /&gt;
*[[Feature Requests]]&lt;br /&gt;
*[[Wishlist|Wiki Content Wishlist]]&lt;br /&gt;
*[[Reviews]]&lt;br /&gt;
*[[Alternative Editors]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*EditPlus: [http://www.editplus.com/ homepage] - [http://www.editplus.com/download.html download page] - [http://www.editplus.com/screen.html screenshots] - [http://www.editplus.com/files.html syntax files]&lt;br /&gt;
*[http://www.terminallearning.com/webtech/editplus.html EditPlus Tutorial]&lt;br /&gt;
*[http://groups.yahoo.com/group/editplus/ EditPlus Yahoo! Group] - Very active, about 50 messages per month.&lt;br /&gt;
*[http://groups.google.com/group/EditPlus/ EditPlus Google Groups] - Not very active.&lt;br /&gt;
*[http://meta.wikipedia.org/wiki/MediaWiki_User's_Guide MediaWiki User's Guide]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-16T00:06:57Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Delete all non-empty lines */ Fixed RegExp. This should be more correct, although it worked with the previous RegExp as well.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-15T23:58:42Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Truncate last value from a MySQL INSERT query */ Fixed RegExp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+), *.+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-15T23:36:36Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Replace only the last occurrence of a character&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Replace only the last occurrence of a character==&lt;br /&gt;
Find: &amp;quot;(.*);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1|&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the last occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an|example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \('...', '.+'), .+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-15T23:32:11Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Delete everything inside a tag pair (removing tags too) */ Added example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \('...', '.+'), .+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Search_and_Replace_Tricks</id>
		<title>Search and Replace Tricks</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Search_and_Replace_Tricks"/>
				<updated>2008-02-15T23:30:34Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Delete everything inside a tag pair (keeping tags) */ Added example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Delete all empty lines==&lt;br /&gt;
Find: &amp;quot;^\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: You may have to repeat it several times to remove all empty lines (until the editor can't find the string to replace).&lt;br /&gt;
&lt;br /&gt;
==Delete all non-empty lines==&lt;br /&gt;
Find: &amp;quot;^.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Comment out lines==&lt;br /&gt;
Find: &amp;quot;^&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;// &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the beginning of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Comment lines==&lt;br /&gt;
Find: &amp;quot;$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; // Comment here&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Empty lines will not be affected. This example actually adds a text at the end of every non empty line, the comment symbol used (&amp;quot;//&amp;quot;) is the one of PHP.&lt;br /&gt;
&lt;br /&gt;
==Join lines==&lt;br /&gt;
Find: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn separated lines into comma separated values. Empty lines will be affected as well.&lt;br /&gt;
&lt;br /&gt;
==Split lines==&lt;br /&gt;
Find: &amp;quot;,&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\n&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Turn comma separated values into separated lines.&lt;br /&gt;
&lt;br /&gt;
==Remove all leading spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;^[ \t]+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: this will obviously remove any indentation&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove all trailing spaces and tabs from every line==&lt;br /&gt;
Find: &amp;quot;[ \t]+$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove consecutive spaces==&lt;br /&gt;
Find: &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;+&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot; &amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this&amp;amp;nbsp;&amp;amp;nbsp;is an&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;example&amp;quot;, after: &amp;quot;this is an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (keeping tags)==&lt;br /&gt;
Find: &amp;quot;(&amp;lt;delete&amp;gt;).+(&amp;lt;/delete&amp;gt;)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this &amp;lt;delete&amp;gt;is an&amp;lt;/delete&amp;gt; example&amp;quot;, after: &amp;quot;this &amp;lt;delete&amp;gt;&amp;lt;/delete&amp;gt; example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Delete everything inside a tag pair (removing tags too)==&lt;br /&gt;
Find: &amp;quot;&amp;lt;delete&amp;gt;.+&amp;lt;/delete&amp;gt;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Tags must be on the same line.&lt;br /&gt;
&lt;br /&gt;
==Delete all lines containing a given string==&lt;br /&gt;
Find: &amp;quot;^.*STRING.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: Lines will be emptied but not suppressed. See [[#Delete all empty lines]] to delete empty lines.&lt;br /&gt;
&lt;br /&gt;
==Replace only the first occurrence of a character==&lt;br /&gt;
Find: &amp;quot;;(.*)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;|\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, only the first occurrence of &amp;quot;;&amp;quot; for each line will be replaced with &amp;quot;|&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this|is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate last value from a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \('...', '.+'), .+\);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1);&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value1','value2');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Keep only last value in a MySQL INSERT query==&lt;br /&gt;
Find: &amp;quot;(VALUES \(.+,)(.+\);)&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;VALUES (\2&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;INSERT INTO table VALUES ('value1','value2','value3');&amp;quot;, after: &amp;quot;INSERT INTO table VALUES ('value3');&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^([^;]*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^([^;]*);+.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string after the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^(.*;).*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string at the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^(.*);.*$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;this;is;an&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the first occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^[^;]*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the first occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^[^;]*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;is;an;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string before than the last occurrence of a marker (keeping the marker)==&lt;br /&gt;
Find: &amp;quot;^.*(;.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Truncate a string up to the last occurrence of a marker (removing the marker too)==&lt;br /&gt;
Find: &amp;quot;^.*;(.*)$&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
Replace: &amp;quot;\1&amp;quot; ''(without quotes)''&amp;lt;br /&amp;gt;&lt;br /&gt;
RegExp&amp;lt;br /&amp;gt;&lt;br /&gt;
Note: In this example, the marker is &amp;quot;;&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example: before: &amp;quot;this;is;an;example&amp;quot;, after: &amp;quot;example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Regular Expressions]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Main_Page"/>
				<updated>2008-02-15T23:27:20Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Removed merged article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.editplus.info/ EditPlus Wiki] exists to provide users of the excellent [[EditPlus]] text-editor with a freely available and community-contributed information resource. You are invited to add information that you think would be useful to current and future EditPlus users. The only policy is that you contribute freely and respect the work of the community.&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[Releases|Releases and Latest Version]]&lt;br /&gt;
*[[FAQ|FAQ - Frequently Asked Questions]]&lt;br /&gt;
*[[Features]]&lt;br /&gt;
**[[User Tools]]&lt;br /&gt;
**[[HTML Toolbar]]&lt;br /&gt;
**[[Regular Expressions]]&lt;br /&gt;
***[[Regular expression syntax|Regular Expression syntax]]&lt;br /&gt;
***[[Search and Replace Tricks]]&lt;br /&gt;
**[[Keyboard Shortcuts]]&lt;br /&gt;
**[[FTP/SFTP]]&lt;br /&gt;
*[[WinSCP|WinSCP (Remote File Access)]]&lt;br /&gt;
*[[Undocumented Tricks]]&lt;br /&gt;
*[[Running on a USB flash drive]]&lt;br /&gt;
*[[Running on Linux]]&lt;br /&gt;
*[[Fonts]]&lt;br /&gt;
*[[Known Issues]]&lt;br /&gt;
*[[Generic resources]] - ''Resources on EditPlus Wiki that can be useful for non EditPlus users too''&lt;br /&gt;
&lt;br /&gt;
==Resources for coders==&lt;br /&gt;
*[[Syntax files]]&lt;br /&gt;
&lt;br /&gt;
*[[Syntax file format]]&lt;br /&gt;
*[[Newsgroups]] about coding in various languages&lt;br /&gt;
&lt;br /&gt;
==Feedback==&lt;br /&gt;
*[[Feature Requests]]&lt;br /&gt;
*[[Wishlist|Wiki Content Wishlist]]&lt;br /&gt;
*[[Reviews]]&lt;br /&gt;
*[[Alternative Editors]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*EditPlus: [http://www.editplus.com/ homepage] - [http://www.editplus.com/download.html download page] - [http://www.editplus.com/screen.html screenshots] - [http://www.editplus.com/files.html syntax files]&lt;br /&gt;
*[http://www.terminallearning.com/webtech/editplus.html EditPlus Tutorial]&lt;br /&gt;
*[http://groups.yahoo.com/group/editplus/ EditPlus Yahoo! Group] - Very active, about 50 messages per month.&lt;br /&gt;
*[http://groups.google.com/group/EditPlus/ EditPlus Google Groups] - Not very active.&lt;br /&gt;
*[http://meta.wikipedia.org/wiki/MediaWiki_User's_Guide MediaWiki User's Guide]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Regular_Expressions</id>
		<title>Regular Expressions</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Regular_Expressions"/>
				<updated>2008-02-15T23:25:57Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: updated link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists as a resource for '''Regular Expressions''' (also shortened as ''RegEx'' or ''RegExp'') frequently used in EditPlus. In order to learn more about the particulars of creating a regular expression in EditPlus, see [[regular expression syntax]]. Also note that [[Regular expression syntax#Operators and Syntax Not Supported in EditPlus|some standard regular expressions are currently not supported]].&lt;br /&gt;
&lt;br /&gt;
Note: EditPlus only supports [[http://en.wikipedia.org/wiki/POSIX POSIX]] Regular Expressions, not [[http://en.wikipedia.org/wiki/PCRE PCRE]] (Perl-Compatible Regular Expressions), which means there are no back-references, no look-aheads, no fancy quantifiers, and no convenient character group syntax]].  Just your basic ^, $, +, *, ?, [ ], [^ ], syntax.  Also note that +/* are always greedy.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Search and Replace Tricks]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
*[http://en.kerouac3001.com/regex-tutorial-8.htm Easy Regex Tutorial]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Regular_expression_syntax_(unsupported)</id>
		<title>Regular expression syntax (unsupported)</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Regular_expression_syntax_(unsupported)"/>
				<updated>2008-02-15T23:25:16Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Merged into Regular expression syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Regular expression syntax#Operators and Syntax Not Supported in EditPlus]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Regular_expression_syntax</id>
		<title>Regular expression syntax</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Regular_expression_syntax"/>
				<updated>2008-02-15T23:24:16Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Merged with Regular expression syntax (unsupported)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EditPlus supports '''Regular Expressions''' in search and replace, but its engine is not as feature-rich as others. A list of common regular expression features not available in EditPlus is available [[Regular expression syntax (unsupported)|here]]. Please see [[Regular Expressions]] for some commonly used examples.&lt;br /&gt;
&lt;br /&gt;
==Operators and Syntax Supported in EditPlus==&lt;br /&gt;
; \ : escape (\ = \\) used for matching characters that have special meaning as regular expressions&lt;br /&gt;
; ^ : (caret) beginning of line (assertion)&lt;br /&gt;
; $ : end of line (assertion)&lt;br /&gt;
; \t : horizontal tab (0x09)&lt;br /&gt;
; \n : newline (0x0A or 0x0D or 0x0D+0x0A)&lt;br /&gt;
; . : (period) any character&lt;br /&gt;
; ( ) : referencable grouping, see \0 - \9 below, e.g. (foo) matches &amp;quot;foo&amp;quot;&lt;br /&gt;
; [ ] : character class (''or-list''), e.g. [abc] matches &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, or &amp;quot;c&amp;quot;&lt;br /&gt;
; [^ ] : negated character class, e.g. [^abc] matches a character that is not &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, or &amp;quot;c&amp;quot;&lt;br /&gt;
; - : (minus sign) character range used within character class, e.g. [a-z] matches a character in the range &amp;quot;a&amp;quot; through &amp;quot;z&amp;quot;&lt;br /&gt;
; | : (vertical bar) logical or, e.g. (foo|bar) matches &amp;quot;foo&amp;quot; or &amp;quot;bar&amp;quot;&lt;br /&gt;
; * : (asterisk) match the preceding character or group zero or more times, e.g. foo* matches &amp;quot;fo&amp;quot;, &amp;quot;foo&amp;quot;, &amp;quot;fooo&amp;quot;, etc, but not &amp;quot;f&amp;quot;&lt;br /&gt;
; + : (plus-sign) match the preceding character or group one or more times, e.g. foo+ matches &amp;quot;foo&amp;quot;, &amp;quot;fooo&amp;quot;, etc, but not &amp;quot;f&amp;quot; or &amp;quot;fo&amp;quot;&lt;br /&gt;
; ? : (question mark) match the preceding character or group zero or once only, e.g. foo? only matches &amp;quot;fo&amp;quot; and &amp;quot;foo&amp;quot;&lt;br /&gt;
; \0 - \9 : used in &amp;quot;Replace with&amp;quot; field to represent text matched with parenthesis (\0 = whole match, \1 - \9 = submatches), no back-references&lt;br /&gt;
; &amp;amp; : When used in the &amp;quot;Replace with&amp;quot; field, the entire match is replaced. To replace with an actual ampersand, you must escape it \&amp;amp;&lt;br /&gt;
&lt;br /&gt;
==Operators and Syntax Not Supported in EditPlus==&lt;br /&gt;
Some common regular expression syntax/operators not available in EditPlus:&lt;br /&gt;
&lt;br /&gt;
; ''foo''{''num''} : match ''foo'' exactly ''num'' times&lt;br /&gt;
; ''foo''{''min'', ''max''} : match ''foo'' at least ''min'' and at most ''max'' times, both optional&lt;br /&gt;
; \a : 0x07, BEL &lt;br /&gt;
; \f : 0x0C, formfeed&lt;br /&gt;
; \r : 0x0D, carriage return, see \n &lt;br /&gt;
; \e : 0x1B, ESC&lt;br /&gt;
; \x''foo'' : 0x''foo'', hexadecimal character reference&lt;br /&gt;
; \c''foo'' : control-''foo''&lt;br /&gt;
; \s : whitespace character, use [ \t\n]&lt;br /&gt;
; \S : non-whitespace character, use [^ \t\n]&lt;br /&gt;
; \d : decimal digit, use [0-9]&lt;br /&gt;
; \D : not a decimal digit, use [^0-9]&lt;br /&gt;
; \w : ''word'' character, letter, for English use [A-z]&lt;br /&gt;
; \W : non-''word'' character, non-letter, for English use [^A-z]&lt;br /&gt;
; &amp;lt;nowiki&amp;gt;[[:alpha:]], [[:lower:]], [[:upper:]], [[:alnum:]], [[:digit:]], [[:xdigit:]], [[:punct:]], [[:graph:]], [[:print:]], [[:blank:]], [[:space:]]&amp;lt;/nowiki&amp;gt; : predefined character classes (POSIX)&lt;br /&gt;
; \b : word boundary (assertion)&lt;br /&gt;
; \B : not a word boundary (assertion)&lt;br /&gt;
; \A : subject start (assertion), use ^&lt;br /&gt;
; \Z : subject end (assertion), use [\n$]&lt;br /&gt;
; \z : subject end (assertion), use $&lt;br /&gt;
; assertions other than ^ and $ : parts of patterns that are not added to matches:&lt;br /&gt;
; (?=''foo'') : positive assertion&lt;br /&gt;
; (?!''foo'') : negative assertion&lt;br /&gt;
; (?&amp;lt;=''foo''), (?&amp;lt;!''foo'') : look-behind assertion&lt;br /&gt;
; (?&amp;gt;=''foo''), (?&amp;gt;!''foo'') : look-ahead assertion, once-only sub-pattern&lt;br /&gt;
; (?(''foo'')''true''), (?(''foo'')''true''|''false'') : conditional sub-pattern, ''foo'' being either the number of a sub-pattern or an assertion&lt;br /&gt;
; (?&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;''foo'') : grouping, non-referencable&lt;br /&gt;
; (?i''foo''), (?m''foo''), (?s''foo''), (?x''foo'') : inline modifiers&lt;br /&gt;
; (?R) : recursive pattern&lt;br /&gt;
; (?#''foo'') : comment&lt;br /&gt;
&lt;br /&gt;
===Workaround===&lt;br /&gt;
A user tool, [http://editplus.info/wiki/User_Tools#Full_RegEx_Supported_Replace_and_More.21 Full RegEx Supported Replace and More] has been developed that adds full regex support to EditPlus.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Sangil_Kim</id>
		<title>Sangil Kim</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Sangil_Kim"/>
				<updated>2008-02-15T23:20:18Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Place&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
'''Sangil Kim''' is the primary (sole?) developer of EditPlus.&lt;br /&gt;
&lt;br /&gt;
==Bio==&lt;br /&gt;
Sangil Kim lives and works in [http://www.geody.com/geospot.php?world=terra&amp;amp;ufi=-706308&amp;amp;alc=chn Chinju], [http://www.geody.com/geocountry.php?world=terra&amp;amp;cid=KS South Korea].&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/FAQ</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/FAQ"/>
				<updated>2008-02-15T23:18:37Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Who coded EditPlus? */ Link to Sangil Kim's article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists to collect a growing number of '''frequently asked questions''' or FAQs, many of which have come up over time on the [http://groups.yahoo.com/group/editplus/ EditPlus Yahoo! Group].&lt;br /&gt;
&lt;br /&gt;
==What is EditPlus?==&lt;br /&gt;
EditPlus is an advanced text editor, HTML editor and programmers editor for Windows with syntax highlighting, HTML toolbar, user tools, line number, ruler, URL highlighting, auto-completion, cliptext, column selection, powerful search and replace, multiple undo/redo, spell checker, customizable keyboard shortcuts, and more.&lt;br /&gt;
&lt;br /&gt;
==Who coded EditPlus?==&lt;br /&gt;
EditPlus is developed by [[Sangil Kim]] (ES-Computing), who lives and works in [http://www.geody.com/geospot.php?world=terra&amp;amp;ufi=-706308&amp;amp;alc=chn Chinju], [http://www.geody.com/geocountry.php?world=terra&amp;amp;cid=KS South Korea].&lt;br /&gt;
&lt;br /&gt;
==How can I make EditPlus my default text editor?==&lt;br /&gt;
#Go to Tools / Preferences... / Files / Settings &amp;amp; syntax&lt;br /&gt;
#Select the File type for which you want EditPlus to be your default editor (like Text, PHP)&lt;br /&gt;
#Make sure that the extension you want to associate with EditPlus is listed in the File extensions field. Multiple extensions for the same file type are separated by a semicolon (&amp;quot;;&amp;quot;). Example: php;php3;php4;inc&lt;br /&gt;
#Check Associate in Explorer&lt;br /&gt;
&lt;br /&gt;
==How can I use EditPlus to &amp;quot;View Source&amp;quot; in Mozilla [[Firefox]]?==&lt;br /&gt;
See [[Firefox#Edit_Source_with_EditPlus]].&lt;br /&gt;
&lt;br /&gt;
==How do I make EditPlus open with a blank document?==&lt;br /&gt;
#Goto Tools &amp;gt; Preferences &amp;gt; General&lt;br /&gt;
#Check &amp;quot;Create new document on start up&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Or you can create a shortcut with the '''/n''' comand line option&lt;br /&gt;
Like this &lt;br /&gt;
&amp;quot;Right-Click&amp;quot; a blank space on your desktop or folder, and choose &amp;quot;New&amp;quot; and then Click &amp;quot;Shortcut&amp;quot;&lt;br /&gt;
Then simply type in this&lt;br /&gt;
C:\Program Files\EditPlus 2\editplus.exe /n (or whatever your path to editplus is)&lt;br /&gt;
''The reason I list this option, is because sometimes you will want to right click and open a file with EditPlus, and if the &amp;quot;Create new document on start up&amp;quot; is checked it will open your file, plus the new blank document, when all you want open is the file that you sent Edit+''&lt;br /&gt;
&lt;br /&gt;
==How do I change the output of the [[HTML]] toolbar buttons?==&lt;br /&gt;
#Edit the [[htmlbar.acp]] file under Program Files\EditPlus 2&lt;br /&gt;
&lt;br /&gt;
==How do I change the default [[HTML]] template?==&lt;br /&gt;
#Edit the template.html file under Program Files\EditPlus 2&lt;br /&gt;
&lt;br /&gt;
==How do I add a new file type to the list under File &amp;gt; New?==&lt;br /&gt;
#Create a new [[template file format|template file]] and save it in Program Files\EditPlus 2&lt;br /&gt;
#Select File &amp;gt; New &amp;gt; Configure Templates&lt;br /&gt;
#Click Add, set &amp;quot;Menu text&amp;quot; to the name of the file type and set the &amp;quot;File path&amp;quot; to the location of the template file&lt;br /&gt;
&lt;br /&gt;
==How do I make the HTML toolbar appear when editing a CSS or other file type?==&lt;br /&gt;
#Goto Tools &amp;gt; Preferences &amp;gt; Settings &amp;amp; syntax&lt;br /&gt;
#Select CSS (or the appropriate file type) under &amp;quot;File types&amp;quot;&lt;br /&gt;
#Check &amp;quot;Show HTML toolbar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==How do I make EditPlus correctly highlight quoted strings in PHP that contain carriage returns and/or line feeds?==&lt;br /&gt;
#Edit php.stx under Program Files\EditPlus 2&lt;br /&gt;
#Change #CONTINUE_QUOTE=n to #CONTINUE_QUOTE=y&lt;br /&gt;
&lt;br /&gt;
==How do I make EditPlus &amp;quot;correctly&amp;quot; highlight PHP [[heredoc]] strings?==&lt;br /&gt;
#Edit php.stx under Program Files\EditPlus 2&lt;br /&gt;
#Add the COMMENTON2/COMMENTOFF2 lines below, where EOF is the heredoc identifer you plan to use in your PHP files. Alternatively you can leave out the EOF if you don't plan on having any semicolons in your heredoc strings&lt;br /&gt;
#Save php.stx&lt;br /&gt;
#Select Document &amp;gt; Refresh STX/ACP&lt;br /&gt;
#Select Tools &amp;gt; Preferences &amp;gt; Settings &amp;amp; syntax&lt;br /&gt;
#Select &amp;quot;PHP&amp;quot; under File types&lt;br /&gt;
#Select the &amp;quot;Syntax color&amp;quot; tab&lt;br /&gt;
#Make &amp;quot;Block Comment 2&amp;quot; the same color as Quotation and Quotation 2 (magenta is the default) or choose a unique color for heredoc strings &lt;br /&gt;
 #COMMENTON2=&amp;lt;&amp;lt;&amp;lt;EOF&lt;br /&gt;
 #COMMENTOFF2=EOF;&lt;br /&gt;
&lt;br /&gt;
==How do I make the Document Selector toolbar two rows high?==&lt;br /&gt;
#Right click on the Document Selector toolbar&lt;br /&gt;
#Select &amp;quot;Options...&amp;quot;&lt;br /&gt;
#Set the &amp;quot;Number of rows&amp;quot; to 2&lt;br /&gt;
&lt;br /&gt;
==How do I make the middle mouse button (or scroll wheel) close a file on the Document Selector?==&lt;br /&gt;
#Right-click on the Document Selector toolbar and select &amp;quot;Options...&amp;quot;&lt;br /&gt;
#Check &amp;quot;Close document with middle mouse button&amp;quot;&lt;br /&gt;
#Click OK&lt;br /&gt;
&lt;br /&gt;
==How do I make EditPlus correctly highlight the syntax of a file with no extension?==&lt;br /&gt;
#Open the file in EditPlus&lt;br /&gt;
#Select Document &amp;gt; Change File Type&lt;br /&gt;
#Select the appropriate file syntax type&lt;br /&gt;
--'''''or'''''--&lt;br /&gt;
#Select Tools &amp;gt; Preferences&lt;br /&gt;
#Select Files &amp;gt; Settings &amp;amp; syntax&lt;br /&gt;
#Select &amp;quot;Default&amp;quot; from the list of file types&lt;br /&gt;
#In the &amp;quot;Syntax file&amp;quot; field, enter the path of the .stx file you want to use for files with no extension&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How do I make EditPlus highlight the current (or active) line?==&lt;br /&gt;
#Goto Tools &amp;gt; Preferences &amp;gt; General &amp;gt; Colors&lt;br /&gt;
#Select &amp;quot;Active line&amp;quot; in the Area box&lt;br /&gt;
#Uncheck the &amp;quot;Default&amp;quot; checkbox&lt;br /&gt;
#Select a color from &amp;quot;Background&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==How can I comment out several lines of text at once, using line-comment indicators?==&lt;br /&gt;
#Select the text you want to comment out and right click&lt;br /&gt;
#Select Format &amp;gt; Line Comment&lt;br /&gt;
#Enter the comment character or characters you wish to prepend to every selected line and click Ok&lt;br /&gt;
This method is also useful for appending any character(s) to the beginning of several lines. Some common types of line comment syntax includes:&lt;br /&gt;
; // : PHP, JSP, JavaScript, Java, C++, C#&lt;br /&gt;
; # : Perl, PHP&lt;br /&gt;
; ' :(''single apostrophe'') Visual Basic&lt;br /&gt;
; rem : Most BASIC dialects, including Visual Basic&lt;br /&gt;
; ; : (''semicolon'') many INI and CFG formats&lt;br /&gt;
&lt;br /&gt;
==How can I comment out several lines of text at once, using block-comment indicators?==&lt;br /&gt;
The below method is useful for prepending and appending block-comment indicators to the beginning and end of selected-and-clipboard'ed lines for files of type: JSP, JavaScript, Java where /* marks the beginning of block-comment and */ marks the end of block-comment. For other file-types, substitute the /* and */ accordingly and proceed.&lt;br /&gt;
&lt;br /&gt;
# Ensure nothing is there in your clipboard.  (how?)&lt;br /&gt;
# Start recording a macro and assign a hot-key, say Alt+1 to it. (how?)&lt;br /&gt;
# Type /* and hit enter&lt;br /&gt;
# Now press CTRL+V and hit enter&lt;br /&gt;
# Type */&lt;br /&gt;
# End recording the Macro.&lt;br /&gt;
&lt;br /&gt;
Or repurpose a button on the HTML toolbar:&lt;br /&gt;
&lt;br /&gt;
#Open the HTML toolbar auto-complete file [[htmlbar.acp]] in your EditPlus folder, e.g. C:\Program Files\EditPlus 2&lt;br /&gt;
#Decide which HTML toolbar icon you want to repurpose for block commenting, e.g. the Horizontal Rule (the button with two horizontal lines)&lt;br /&gt;
#Change this:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;#T=HR&amp;lt;br&amp;gt;&amp;lt;HR&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;to this:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;#T=HR&amp;lt;br&amp;gt;/*^!*/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How do I select a column or box of text?== &lt;br /&gt;
# Turn Word-wrap mode off (use Ctrl+Shift+W to toggle on/off)&lt;br /&gt;
# Hold down the Alt key and use the mouse to select the column of text you want&lt;br /&gt;
'''or'''&lt;br /&gt;
# Turn Word-wrap mode off (use Ctrl+Shift+W to toggle on/off)&lt;br /&gt;
# Place the cursor where you want to start copying&lt;br /&gt;
# Press Alt+C, or right-click and choose Column Select&lt;br /&gt;
# Use arrow keys to select the column of text you want&lt;br /&gt;
# Press Enter or click the mouse to complete column selection&lt;br /&gt;
&lt;br /&gt;
You can then copy, cut, delete, and paste the selected &amp;quot;box&amp;quot; of text. Note: use caution when pasting text copied with column selection. It will overwrite existing text that exists within the dimensions of the &amp;quot;box&amp;quot; of text being pasted. If you paste at the end of a long line, shorter lines are padded so that the pasted text retains its original columnar layout.&lt;br /&gt;
&lt;br /&gt;
==How can I modify the order of the tabs?==&lt;br /&gt;
Invoke the Window List pressing F11.&lt;br /&gt;
&lt;br /&gt;
==How can I browse functions in my code?==&lt;br /&gt;
Invoke the Function List pressing CTRL+F11.&lt;br /&gt;
&lt;br /&gt;
==How can I delete all empty lines in a text file?==&lt;br /&gt;
See [[Search_and_Replace_Tricks#Delete_all_empty_lines]]&lt;br /&gt;
&lt;br /&gt;
==How can I change fonts? Where I can get new ones?==&lt;br /&gt;
See [[Fonts]].&lt;br /&gt;
&lt;br /&gt;
==Can I quit the editor or close all open documents with a single key press?==&lt;br /&gt;
Yes, see [[Undocumented_Tricks#Close_all_files_pressing_ESC]].&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-02-15T23:17:17Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Installation */ Improved wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v3.00 (323) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on February, 11 2008&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
*For beta testers: EditPlus v3.00 released on 2008-02-11 is different from EditPlus 3.00 beta build 323 (2008-02-06) (&amp;quot;Release Candidate 7&amp;quot;): although there are no new features or bug fixes, it no longer says &amp;quot;beta&amp;quot; in the About message box.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
'''For installation on computers that do not have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Run the executable installer, selecting the directories in which INI (settings) and syntax (STX) files should be installed. (Auto-complete (ACP) and cliptext (CTX) files will go in the same directory as syntax files.)&lt;br /&gt;
&lt;br /&gt;
'''For Installation on computers that have EditPlus version 2 installed:'''&lt;br /&gt;
&lt;br /&gt;
1. Do not uninstall version 2. Versions 2 and 3 can co-exist on the same computer.&lt;br /&gt;
&lt;br /&gt;
2. Install version 3 as described above.&lt;br /&gt;
&lt;br /&gt;
3. Copy any non-standard syntax, auto-complete, and cliptext files from the version 2 installation to the location chosen for version 3.&lt;br /&gt;
&lt;br /&gt;
4. Optionally, uninstall version 2 after confirming that version 3 works as desired.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files contained inside the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 3.00 ==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-02-11T01:04:40Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: EditPlus v3.00 released&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v3.00 (323) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on February, 11 2008&lt;br /&gt;
&lt;br /&gt;
===Version notes (unofficial)===&lt;br /&gt;
*EditPlus v3 only works on Windows 2000, XP, and Vista, and loses compatibility with Windows 95, 98, and ME. If you have an old Windows system you can't upgrade to EditPlus 3.&lt;br /&gt;
*EditPlus 3 saves files differently than EditPlus 2: now it opens the file and overwrites it, which means saved files are no longer moved at the end of the file list in the folder by Windows.&lt;br /&gt;
*For beta testers: EditPlus v3.00 released on 2008-02-11 is different from EditPlus 3.00 beta build 323 (2008-02-06) (&amp;quot;Release Candidate 7&amp;quot;): although there are no new features or bug fixes, it no longer says &amp;quot;beta&amp;quot; in the About message box.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Run the executable installer.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files in the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
None at the moment.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 3.00 ==&lt;br /&gt;
Source: [http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Improved Unicode compatibility.&lt;br /&gt;
* 'Enable visual style for toolbars' option ('Preferences'-&amp;gt;'Tools').&lt;br /&gt;
* 'Match Tag'/'Select Tag' command ('Search' menu).&lt;br /&gt;
* Allows drag and drop for the Document Selector tabs.&lt;br /&gt;
* Automatically adjusts the number of rows on the Document Selector.&lt;br /&gt;
* 'Restore cursor/markers/encoding of recent files' option ('Preferences'-&amp;gt;'General').&lt;br /&gt;
* Automatically adds file extension if the file type has only one extension.&lt;br /&gt;
* 'Rename' command ('File'-&amp;gt;'Others').&lt;br /&gt;
* 'Current project' option in the Find in Files dialog box.&lt;br /&gt;
* 'An additional file name (allows * and ?)' option ('Preferences'-&amp;gt;'Settings &amp;amp; syntax'-&amp;gt;'More').&lt;br /&gt;
* Supports secondary function pattern option.&lt;br /&gt;
* 'Toggle Folding' command ('View'-&amp;gt;'Code Folding').&lt;br /&gt;
* 'Add Dir' button on the 'Preferences'-&amp;gt;'Project'.&lt;br /&gt;
* Supports 'Sort' button on the Window List.&lt;br /&gt;
* Supports 'Copy Name' button on the Window List.&lt;br /&gt;
* Function Pattern dialog box supports 'Partial display' option.&lt;br /&gt;
* 'Previous' button instead of Up/Down on the Find dialog box.&lt;br /&gt;
* $(AppDir) argument macro added.&lt;br /&gt;
* Supports font option for the Document Selector.&lt;br /&gt;
* Supports auto save as *.tmp file for unnamed buffers.&lt;br /&gt;
* 'Up'/'Down' button on the Window List supports multiple selections.&lt;br /&gt;
* Duplicate Line command supports multi-line selection.&lt;br /&gt;
* 'Open Selection' command supports multi-line selection.&lt;br /&gt;
* Native support for tilt wheel on Vista.&lt;br /&gt;
* Supports horizontal scroll by SHIFT + mouse wheel.&lt;br /&gt;
* -wd command line option for specifying directory to save the workspace.&lt;br /&gt;
* 'Transparent' command ('Window'-&amp;gt;'Others').&lt;br /&gt;
* 'Remove from Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Supports 'Up'/'Down' button on the 'Preferences'-&amp;gt;'Settings &amp;amp; syntax' dialog box.&lt;br /&gt;
* 'Copy URL' command ('Edit'-&amp;gt;'Clipboard' menu).&lt;br /&gt;
* 'User tool group' option on the 'Preferences'-&amp;gt;'Project' dialog box.&lt;br /&gt;
* 'Move Up/Down' command ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* 'Change File Encoding'/'File Encoding Multiple' commands ('Document'-&amp;gt;'File Encoding').&lt;br /&gt;
* Displays current project name on the title bar.&lt;br /&gt;
* 'Next/Prev Project' command ('Project'-&amp;gt;'Manage Project').&lt;br /&gt;
* Allows CHMOD on multiple files.&lt;br /&gt;
* 'Allow Drag &amp;amp; Drop' option ('Edit'-&amp;gt;'Others').&lt;br /&gt;
* New toolbar buttons: Find Next/Prev Word, Toggle Folding, Sum, Last Visited, Character Count.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* FTP status of 100% could cause program crash.&lt;br /&gt;
* Some sftp servers could cause program freeze.&lt;br /&gt;
* Regular expression in Find in Files dialog box could cause program crash.&lt;br /&gt;
* 'Save wrapped lines with CR/LF' option could corrupt file.&lt;br /&gt;
* Replace All could incorrectly hide folded lines.&lt;br /&gt;
* 'Subdirectory' FTP setting did not work correctly on VMS servers.&lt;br /&gt;
* '$' regular expression did not work correctly.&lt;br /&gt;
* Search Document command could omit some words.&lt;br /&gt;
* Improved Vista UAC compatibility.&lt;br /&gt;
* 'Sum' command could not handle minus value.&lt;br /&gt;
* Fixes display error when selecting by word.&lt;br /&gt;
* Fixes a screen update bug with auto completion in word wrap mode.&lt;br /&gt;
* Extending column selection with 'Shift + click' didn't work.&lt;br /&gt;
* 'Decrease Indent' command did not work correctly with column selections.&lt;br /&gt;
* 'Create File' did not work on disconnected FTP server.&lt;br /&gt;
* Suppresses auto completion in C/C++ preprocessor directives.&lt;br /&gt;
* Keystroke recording could not handle the Insert key.&lt;br /&gt;
* Highlighted matching braces could not be restored when changing focus.&lt;br /&gt;
* Replace dialog box with regex did not work upward.&lt;br /&gt;
* Suppresses combo box auto completion when pasting.&lt;br /&gt;
* 'Use EditPlus in Internet Explorer' didn't work as expected in Vista.&lt;br /&gt;
* Reset button on the 'Preferences'-&amp;gt;'Toolbar' did not work correctly.&lt;br /&gt;
* Fixes a bug with the Korean input method editor.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2008-01-22T15:12:59Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Upcoming version */ Current status: Release Candidate (available to beta testers only)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v2.31 (406) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on March, 15 2007&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Run the executable installer.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
&lt;br /&gt;
The latest patch for version 2.31 is build 542, released 2007-08-02.&lt;br /&gt;
&lt;br /&gt;
A beta bug patch has been released to [[#Beta releases|beta testers]].&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files in the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
v3.00 - It will be available only for Windows 2000, XP, and Vista, losing compatibility with Windows 95, 98, and ME.&lt;br /&gt;
&lt;br /&gt;
Current status: Release Candidate, available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available to beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 2.31 ==&lt;br /&gt;
&lt;br /&gt;
This is a bug patch release which accumulates previous bug patch files.&lt;br /&gt;
&lt;br /&gt;
* -cursor command-line option could cause program crash.&lt;br /&gt;
* Ctrl+'drag and drop' did not work in some case.&lt;br /&gt;
* Multi-line regexp did not work correctly.&lt;br /&gt;
* Word by word selection did not work correctly in word wrap mode.&lt;br /&gt;
* 'Capitalize' command could not recognize apostrophe.&lt;br /&gt;
* On Open Remote dialog box, &amp;quot;..&amp;quot; icon did not work with some servers.&lt;br /&gt;
* Directory Window could not handle some Japanese characters.&lt;br /&gt;
* Collapse command with column selection could cause program crash.&lt;br /&gt;
* @LANGUAGE=VBScript directive could break JavaScript syntax colors.&lt;br /&gt;
* Find in Files could cause program crash with very large files.&lt;br /&gt;
* 'Dialog font' option added on the Function List.&lt;br /&gt;
* Fixes false file modification warnings on some network drives.&lt;br /&gt;
* 'Disconnect automatically' option did not work correctly.&lt;br /&gt;
* 'Include directory names' backup option added.&lt;br /&gt;
* 'USER with no logon' firewall option did not work correctly.&lt;br /&gt;
* 'Save Window Width' command added (Window-&amp;gt;Others).&lt;br /&gt;
* 'Copy as HTML' was always in uppercase.&lt;br /&gt;
* 'Reformat' command did not work correctly with some Japanese files.&lt;br /&gt;
* 'Stretch' command added (Window-&amp;gt;Others).&lt;br /&gt;
* Regular expression search could cause infinite loop.&lt;br /&gt;
* Fixes &amp;quot;Unexpected Error GLP&amp;quot;.&lt;br /&gt;
* Some mouse wheel didn't work on Windows Vista.&lt;br /&gt;
* 'Include date and time' backup option added.&lt;br /&gt;
* Prevents possible browser refresh problem on network drive.&lt;br /&gt;
* Custom output pattern did not work with unsaved buffer.&lt;br /&gt;
* Open Selection command could not handle trailing white spaces.&lt;br /&gt;
* On Open Remote dialog box, &amp;quot;..&amp;quot; icon did not work with some servers.&lt;br /&gt;
* 'View in Browser 2' did not work with the 'other browser' option.&lt;br /&gt;
* Fixes screen scroll bug when turning on/off the word wrap option.&lt;br /&gt;
* Fixes cursor indicator bug with the Page Up/Down key.&lt;br /&gt;
* System default browser option didn't work correctly on Windows Vista.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 2.30 ==&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Code Folding based on line indentation (View-&amp;gt;Code Folding).&lt;br /&gt;
* 'Copy as HTML' command (Edit-&amp;gt;Clipboard).&lt;br /&gt;
* 'Search Document', 'Search All Open Files' command (Edit-&amp;gt;Insert).&lt;br /&gt;
* $(WindwList) argument macro supports 'Create temp file of remote file' option.&lt;br /&gt;
* 'Use XHTML tags' option (Preferences-&amp;gt;General).&lt;br /&gt;
* Setup program supports 'Store configuration files in my profile directory' option.&lt;br /&gt;
* 'Sum' command (Tools).&lt;br /&gt;
* 'View in Browser 2' command (View).&lt;br /&gt;
* 'Create File' command (Directory Window).&lt;br /&gt;
* 'Default encoding' option (Preferences-&amp;gt;Files).&lt;br /&gt;
* 'Beginning page number' option (Preferences-&amp;gt;Print).&lt;br /&gt;
* Holding down the Shift key when deleting file bypasses the Recycle Bin.&lt;br /&gt;
* Backup File Directory option allows environment variable.&lt;br /&gt;
* 'Warn if server doesn't respond in 10 sec.' option (FTP Settings).&lt;br /&gt;
* Adds 'Document'-&amp;gt;'File Format Multiple' as a separate command.&lt;br /&gt;
* Toolbar button for 'File Directory', 'Monitor Clipbaord', 'Set Read Only'.&lt;br /&gt;
* 'Use system font in dialog box' option (Preferences-&amp;gt;Fonts).&lt;br /&gt;
* 'Trim trailing spaces on save' option (Preferences-&amp;gt;Settings &amp;amp; syntax).&lt;br /&gt;
* 'UTf-8 signature' option (Preferences-&amp;gt;files).&lt;br /&gt;
* Supports Unicode big endian files.&lt;br /&gt;
* 'Always on Top' command (Window).&lt;br /&gt;
* 'Find in Directory' command (Directory Window);&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* On the FTP upload status, cancel button could cause program crash.&lt;br /&gt;
* Word wrap could be wrong when deleting text.&lt;br /&gt;
* Find and replace on column selection could cause program crash.&lt;br /&gt;
* 'Force displaying hidden files' FTP option caused problem with VMS servers.&lt;br /&gt;
* Keystroke recordings did not work with the Tabs to Spaces command.&lt;br /&gt;
* Some Hangul IME did not work correctly.&lt;br /&gt;
* sftp could not handle servers which send SSH_MSG_IGNORE packet.&lt;br /&gt;
* FTP did not work correctly with some Mac servers.&lt;br /&gt;
* Program could crash with some syntax files.&lt;br /&gt;
* Duplicate Char command did not work correctly in some cases.&lt;br /&gt;
* NTFS File summaries were not preserved on file save.&lt;br /&gt;
* Clicking '..' on Open Remote dialog box did not work with VMS servers.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Alternative_Editors</id>
		<title>Alternative Editors</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Alternative_Editors"/>
				<updated>2007-09-05T18:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* TheGun */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How does EditPlus compare to other text editors with similar feature sets? If you've switched to EditPlus from another comparable editor, or if you've left EditPlus in the dust, describe why here.&lt;br /&gt;
Please notice that EditPlus has a customizable Auto-Complete feature that other text editors might not have and they, therefore, would not compare this feature in their feature comparing matrix. And the indent-wrap feature (the wrapped lines are also indented) is mostly lacking in other editors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Windows=&lt;br /&gt;
&lt;br /&gt;
==Boxer==&lt;br /&gt;
*[http://www.boxersoftware.com/ Boxer] ''(shareware)''&lt;br /&gt;
Boxer is definitely a full-featured editor that's worth a look.  Whether or not one prefers it to EditPlus will be a matter of personal preference.  There's a complete list of Boxer's features [http://www.boxersoftware.com/pgfeat.htm here].&lt;br /&gt;
&lt;br /&gt;
==HTML Kit==&lt;br /&gt;
*[http://www.chami.com/html-kit/ HTML Kit] ''(shareware)''&lt;br /&gt;
&lt;br /&gt;
==jEdit==&lt;br /&gt;
*[http://www.jedit.org/ jEdit - Programmer's Text Editor] ''(GPL license)''&lt;br /&gt;
jEdit is free. It is written in Java, so it runs on Mac OS X, OS/2, Unix, VMS and Windows. This also means that is is slower than EditPlus. It is missing some EditPlus functionality, but it has a number of advantages:&lt;br /&gt;
*Built-in macro language; extensible plugin architecture. Dozens of macros and plugins available.&lt;br /&gt;
*Plugins can be downloaded and installed from within jEdit using the &amp;quot;plugin manager&amp;quot; feature.&lt;br /&gt;
*Auto indent, and syntax highlighting for 122 languages.&lt;br /&gt;
*Folding for selectively hiding regions of text.&lt;br /&gt;
*Highly configurable and customizable.&lt;br /&gt;
&lt;br /&gt;
==TextPad==&lt;br /&gt;
*[http://www.textpad.com/ TextPad] ''(shareware)''&lt;br /&gt;
&lt;br /&gt;
(A new version of TextPad [v5.0] was released in March 2007.)&lt;br /&gt;
&lt;br /&gt;
Two words: file comparison.&lt;br /&gt;
Textpad is also a very good text editor. However, development on it has languished - the last release was June '04. It does have a built in file comparison tool, but lacks builtin FTP support, which is what led me to switch to Editplus.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, the shortcuts are not standardized. Ctrl+F does not open the search box but starts a search with the previously used search term (unless you switch to Microsoft compatibility mode in the settings screens).&lt;br /&gt;
&lt;br /&gt;
==UltraEdit==&lt;br /&gt;
*[http://www.ultraedit.com/ UltraEdit] ''(shareware)''&lt;br /&gt;
UltraEdit has a built in FTP and SFTP feature, which works OK. It also has the rest of the features, even though they have not been attached to convenient shortcuts. The text editor as such is not the greatest, but it does the job. There are a few screen bugs when scrolling and selecting. The syntax highlight is completely customizable but acting &amp;quot;weird&amp;quot; at times.&lt;br /&gt;
&lt;br /&gt;
Additionally, it has the very useful ability to edit &amp;quot;Raw&amp;quot; files, that is, you can edit the file in Hex format, byte by byte.&lt;br /&gt;
&lt;br /&gt;
The syntax highlight is very customizable upto a point - but not flexible enough for some. And over-complicated too. &lt;br /&gt;
&lt;br /&gt;
The search feature has a useful &amp;quot;list lines containing string&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
*Only* reason to use this over editplus is the code-folding.&lt;br /&gt;
&lt;br /&gt;
==EditPad==&lt;br /&gt;
*[http://www.editpadpro.com/index.html EditPad Pro] ''(shareware)''&lt;br /&gt;
*[http://www.editpadpro.com/editpadlite.html EditPad Lite] ''(free for non commercial use, not open source)''&lt;br /&gt;
&lt;br /&gt;
==PSPad==&lt;br /&gt;
*[http://www.pspad.com/en/ PSPad] ''(freeware, not open source)''&lt;br /&gt;
Excellent editor with many interesting features which include ability to script using JavaScript, and the Code Explorer.&lt;br /&gt;
&lt;br /&gt;
==SciTE==&lt;br /&gt;
*[http://www.scintilla.org/SciTE.html SciTE] ''(freeware, open source)''&lt;br /&gt;
&amp;quot;SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations - I use it for building test and demonstration programs as well as SciTE and Scintilla, themselves.&amp;quot;&lt;br /&gt;
Includes: syntax highlighting, code folding, column selecting, find and replace using regular expressions, find in files (search multiple files at once).&lt;br /&gt;
&lt;br /&gt;
==Notepad++==&lt;br /&gt;
*[http://notepad-plus.sourceforge.net/ Notepad++] ''(GPL license)''&lt;br /&gt;
Notepad++ is a free source code editor which supports several programming languages, running under the MS Windows environment.&amp;lt;br /&amp;gt;&lt;br /&gt;
This project -- based on the Scintilla edit component -- is written in C++ with pure win32 api and STL (that ensures the higher execution speed and smaller size of the program).&lt;br /&gt;
&lt;br /&gt;
==Multi-Edit==&lt;br /&gt;
*[http://www.multieditsoftware.com Multi-Edit] ''(shareware)''&lt;br /&gt;
A very good and mature product with a powerful macro language.&lt;br /&gt;
For a comparison of the features between Multi-Edit and the other leading editors (including EditPlus) click [http://www.multieditsoftware.com/MEvsMISC.php here]&lt;br /&gt;
&lt;br /&gt;
==Zeus For Windows==&lt;br /&gt;
*[http://www.zeusedit.com/ Zeus for Windows] ''(shareware)''&lt;br /&gt;
Zeus offers the standard set of internet editing features like HTML syntax highlighting, built-in FTP/SFTP editing and checking HTML code for W3C conformance using Tidy HTML.&lt;br /&gt;
But it also offers many more programmer specific  features like code folding, class browsing, intellisensing, macro scripting, project/workspace management, integrated version control [http://www.zeusedit.com/features.html and more].&lt;br /&gt;
&lt;br /&gt;
==Crimson Editor==&lt;br /&gt;
*[http://www.crimsoneditor.com/ Crimson Editor] ''(freeware, also newly open sourced)''&lt;br /&gt;
Crimson Editor is a freeware editor for Windows with customizable syntax highlighting and macro recording support. Also, the interface and functionalities look very similar to older versions of EditPlus. Excellent choice for EditPlus users who have to work on Windows servers, where it can be used to replace Notepad without the need for licenses.&lt;br /&gt;
&lt;br /&gt;
The developer recently released the source code as he no longer has the time to devote to it.&lt;br /&gt;
&lt;br /&gt;
=Notepad replacements for Windows=&lt;br /&gt;
''Not a real alternative to EditPlus, nor an editor for coders. They're rather a replacement for the standard Notepad that comes with Microsoft Windows.''&lt;br /&gt;
&lt;br /&gt;
==Notepad2==&lt;br /&gt;
*[http://www.flos-freeware.ch/notepad2.html Notepad2] ''(freeware, open source)''&lt;br /&gt;
Notepad replacement based on the Scintilla editing component. Supports syntax highlighting, regex search/replace, DOS/UNIX/Mac line endings, Unicode, and bookmarks. However, as a notepad replacement, will only open one file per instance, can't define new languages for highlighting (without recompiling), and doesn't support code folding. An excellent notepad replacement, none the less.&lt;br /&gt;
&lt;br /&gt;
==TheGun==&lt;br /&gt;
*[http://www.movsd.com/thegun.htm TheGun] ''(freeware)''&lt;br /&gt;
TheGun is entirely coded in Microsoft Assembler (MASM) using the Windows API functions. File size is 6k (6144 bytes). It doesn't require installation, it doesn't write in the registry, and doesn't use external DLLs. It comes with a configuration file (SETGUN.EXE) that patches the executable according to the user's preferences, so it doesn't need to load an INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can open any kind of file (even binary data) and it has no size limit.&lt;br /&gt;
&lt;br /&gt;
==RogSoft NotePad+==&lt;br /&gt;
*[http://www.mypeecee.org/rogsoft/ RogSoft NotePad+] ''(freeware, not open source)''&lt;br /&gt;
Notepad replacement able to open multiple documents.&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Linux/BSD=&lt;br /&gt;
''If [[Running on Linux|EditPlus under WINE]] is unacceptable to you, try the following Linux/BSD text editors with features comparable to EditPlus.''&lt;br /&gt;
&lt;br /&gt;
==KATE==&lt;br /&gt;
*[http://kate.kde.org/ KATE (KDE Advanced Text Editor)] ''(GPL license)''&lt;br /&gt;
&amp;quot;Kate is a multi document editor, based on a rewritten version of the kwrite editing widget of KDE, offering all the features of that plus a bunch of its own.&amp;quot;  It supports projects and syntax highlighting.&lt;br /&gt;
&lt;br /&gt;
==Bluefish==&lt;br /&gt;
*[http://bluefish.openoffice.nl/ Bluefish] ''(GPL license)''&lt;br /&gt;
Top EditPlus shared features: projects, syntax highlighting, auto-complete, ClipText-like panel, POSIX Regex (and Perl!), custom shortcut keys, run custom external applications. It requires GTK 2.0 or newer (GTK 2.4 or newer is recommended).&amp;lt;br /&amp;gt;&lt;br /&gt;
On Debian and Ubuntu it can be installed using APT: '''apt-get install bluefish'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Gentoo it can be installed using emerge: ''' emerge -av bluefish '''.&lt;br /&gt;
&lt;br /&gt;
==SciTE==&lt;br /&gt;
*[http://www.scintilla.org/SciTE.html SciTE] ''(freeware, open source)''&lt;br /&gt;
&amp;quot;SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations - I use it for building test and demonstration programs as well as SciTE and Scintilla, themselves.&amp;quot;&lt;br /&gt;
It requires GTK+.&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Linux shell=&lt;br /&gt;
&lt;br /&gt;
==JED==&lt;br /&gt;
*[http://www.jedsoft.org/jed/ JED] ''(freeware, open source)''&lt;br /&gt;
Not nearly as powerful as EditPlus, but probably the easiest text editor for Linux console, with menus, syntax highlighting, copy/paste text selection, etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Debian and Ubuntu it can be installed using APT: '''apt-get install jed'''.&lt;br /&gt;
&lt;br /&gt;
== mcedit (Midnight Commander Editor) ==&lt;br /&gt;
*[http://www.ibiblio.org/mc/ GNU Midnight Commander] ''(GPL, open source)''&lt;br /&gt;
Internal file editor of GNU Midnight Commander filesystem browser, based in the&lt;br /&gt;
terminal version of cooledit, but can be invoked and used from the shell. &lt;br /&gt;
It has syntax highlighting, regular expression searching, mouse support, macro &lt;br /&gt;
commands, edits text and binary files up to 64MB. Very easy to use.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Ubuntu can be installed using APT: '''apt-get install mc''' (from Universe repositories).&amp;lt;br /&amp;gt;&lt;br /&gt;
On Slackware is included in the ''ap'' category.&lt;br /&gt;
&lt;br /&gt;
==VIM==&lt;br /&gt;
*[http://www.vim.org/ VIM (Vi IMproved)] ''(GPL compatible charityware, open source)''&lt;br /&gt;
Popular text editor for Linux console, although it's a bit hard to use for the average user.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Debian and Ubuntu it can be installed using APT: '''apt-get install vim'''.&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Mac=&lt;br /&gt;
&lt;br /&gt;
==BBEdit==&lt;br /&gt;
*[http://www.barebones.com/products/bbedit/index.shtml BBEdit] ''(shareware)''&lt;br /&gt;
HTML and text editor for the Mac&amp;lt;br /&amp;gt;&lt;br /&gt;
Cory Doctorow is constantly [http://www.google.com/search?ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;q=bbedit&amp;amp;btnG=Search+Boing+Boing&amp;amp;domains=boingboing.net&amp;amp;sitesearch=boingboing.net singing its praises] on [http://www.boingboing.net/ BoingBoing]&lt;br /&gt;
&lt;br /&gt;
==TextMate==&lt;br /&gt;
*[http://macromates.com/ TextMate] ''(shareware)''&lt;br /&gt;
Text editor for Mac OS X. Code highlighting and folding, tag closing, macros, tabs, amazingly extensible. Very good for programmers. Shareware, &amp;amp;euro;39.&lt;br /&gt;
&lt;br /&gt;
==Smultron==&lt;br /&gt;
*[http://smultron.sourceforge.net/ Smultron] ''(open source - BSD license)''&lt;br /&gt;
Text editor for Mac OS X.  Requires version 10.4.5 or higher - some older versions of Smultron support older versions of OS X.  Supports syntax highlighting, regular expressions, and other stuff.  Available in English, German, Chinese (traditional), French, Russian, Czech, Italian, Japanese, and Swedish.  [http://smultron.sourceforge.net/features.html Full list of features.]&lt;br /&gt;
Open-source/BSD license.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Alternative_Editors</id>
		<title>Alternative Editors</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Alternative_Editors"/>
				<updated>2007-09-05T18:13:11Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Notepad replacements for Windows */ Restored section which were deleted in the past due to vandalism&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How does EditPlus compare to other text editors with similar feature sets? If you've switched to EditPlus from another comparable editor, or if you've left EditPlus in the dust, describe why here.&lt;br /&gt;
Please notice that EditPlus has a customizable Auto-Complete feature that other text editors might not have and they, therefore, would not compare this feature in their feature comparing matrix. And the indent-wrap feature (the wrapped lines are also indented) is mostly lacking in other editors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Windows=&lt;br /&gt;
&lt;br /&gt;
==Boxer==&lt;br /&gt;
*[http://www.boxersoftware.com/ Boxer] ''(shareware)''&lt;br /&gt;
Boxer is definitely a full-featured editor that's worth a look.  Whether or not one prefers it to EditPlus will be a matter of personal preference.  There's a complete list of Boxer's features [http://www.boxersoftware.com/pgfeat.htm here].&lt;br /&gt;
&lt;br /&gt;
==HTML Kit==&lt;br /&gt;
*[http://www.chami.com/html-kit/ HTML Kit] ''(shareware)''&lt;br /&gt;
&lt;br /&gt;
==jEdit==&lt;br /&gt;
*[http://www.jedit.org/ jEdit - Programmer's Text Editor] ''(GPL license)''&lt;br /&gt;
jEdit is free. It is written in Java, so it runs on Mac OS X, OS/2, Unix, VMS and Windows. This also means that is is slower than EditPlus. It is missing some EditPlus functionality, but it has a number of advantages:&lt;br /&gt;
*Built-in macro language; extensible plugin architecture. Dozens of macros and plugins available.&lt;br /&gt;
*Plugins can be downloaded and installed from within jEdit using the &amp;quot;plugin manager&amp;quot; feature.&lt;br /&gt;
*Auto indent, and syntax highlighting for 122 languages.&lt;br /&gt;
*Folding for selectively hiding regions of text.&lt;br /&gt;
*Highly configurable and customizable.&lt;br /&gt;
&lt;br /&gt;
==TextPad==&lt;br /&gt;
*[http://www.textpad.com/ TextPad] ''(shareware)''&lt;br /&gt;
&lt;br /&gt;
(A new version of TextPad [v5.0] was released in March 2007.)&lt;br /&gt;
&lt;br /&gt;
Two words: file comparison.&lt;br /&gt;
Textpad is also a very good text editor. However, development on it has languished - the last release was June '04. It does have a built in file comparison tool, but lacks builtin FTP support, which is what led me to switch to Editplus.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also, the shortcuts are not standardized. Ctrl+F does not open the search box but starts a search with the previously used search term (unless you switch to Microsoft compatibility mode in the settings screens).&lt;br /&gt;
&lt;br /&gt;
==UltraEdit==&lt;br /&gt;
*[http://www.ultraedit.com/ UltraEdit] ''(shareware)''&lt;br /&gt;
UltraEdit has a built in FTP and SFTP feature, which works OK. It also has the rest of the features, even though they have not been attached to convenient shortcuts. The text editor as such is not the greatest, but it does the job. There are a few screen bugs when scrolling and selecting. The syntax highlight is completely customizable but acting &amp;quot;weird&amp;quot; at times.&lt;br /&gt;
&lt;br /&gt;
Additionally, it has the very useful ability to edit &amp;quot;Raw&amp;quot; files, that is, you can edit the file in Hex format, byte by byte.&lt;br /&gt;
&lt;br /&gt;
The syntax highlight is very customizable upto a point - but not flexible enough for some. And over-complicated too. &lt;br /&gt;
&lt;br /&gt;
The search feature has a useful &amp;quot;list lines containing string&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
*Only* reason to use this over editplus is the code-folding.&lt;br /&gt;
&lt;br /&gt;
==EditPad==&lt;br /&gt;
*[http://www.editpadpro.com/index.html EditPad Pro] ''(shareware)''&lt;br /&gt;
*[http://www.editpadpro.com/editpadlite.html EditPad Lite] ''(free for non commercial use, not open source)''&lt;br /&gt;
&lt;br /&gt;
==PSPad==&lt;br /&gt;
*[http://www.pspad.com/en/ PSPad] ''(freeware, not open source)''&lt;br /&gt;
Excellent editor with many interesting features which include ability to script using JavaScript, and the Code Explorer.&lt;br /&gt;
&lt;br /&gt;
==SciTE==&lt;br /&gt;
*[http://www.scintilla.org/SciTE.html SciTE] ''(freeware, open source)''&lt;br /&gt;
&amp;quot;SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations - I use it for building test and demonstration programs as well as SciTE and Scintilla, themselves.&amp;quot;&lt;br /&gt;
Includes: syntax highlighting, code folding, column selecting, find and replace using regular expressions, find in files (search multiple files at once).&lt;br /&gt;
&lt;br /&gt;
==Notepad++==&lt;br /&gt;
*[http://notepad-plus.sourceforge.net/ Notepad++] ''(GPL license)''&lt;br /&gt;
Notepad++ is a free source code editor which supports several programming languages, running under the MS Windows environment.&amp;lt;br /&amp;gt;&lt;br /&gt;
This project -- based on the Scintilla edit component -- is written in C++ with pure win32 api and STL (that ensures the higher execution speed and smaller size of the program).&lt;br /&gt;
&lt;br /&gt;
==Multi-Edit==&lt;br /&gt;
*[http://www.multieditsoftware.com Multi-Edit] ''(shareware)''&lt;br /&gt;
A very good and mature product with a powerful macro language.&lt;br /&gt;
For a comparison of the features between Multi-Edit and the other leading editors (including EditPlus) click [http://www.multieditsoftware.com/MEvsMISC.php here]&lt;br /&gt;
&lt;br /&gt;
==Zeus For Windows==&lt;br /&gt;
*[http://www.zeusedit.com/ Zeus for Windows] ''(shareware)''&lt;br /&gt;
Zeus offers the standard set of internet editing features like HTML syntax highlighting, built-in FTP/SFTP editing and checking HTML code for W3C conformance using Tidy HTML.&lt;br /&gt;
But it also offers many more programmer specific  features like code folding, class browsing, intellisensing, macro scripting, project/workspace management, integrated version control [http://www.zeusedit.com/features.html and more].&lt;br /&gt;
&lt;br /&gt;
==Crimson Editor==&lt;br /&gt;
*[http://www.crimsoneditor.com/ Crimson Editor] ''(freeware, also newly open sourced)''&lt;br /&gt;
Crimson Editor is a freeware editor for Windows with customizable syntax highlighting and macro recording support. Also, the interface and functionalities look very similar to older versions of EditPlus. Excellent choice for EditPlus users who have to work on Windows servers, where it can be used to replace Notepad without the need for licenses.&lt;br /&gt;
&lt;br /&gt;
The developer recently released the source code as he no longer has the time to devote to it.&lt;br /&gt;
&lt;br /&gt;
=Notepad replacements for Windows=&lt;br /&gt;
''Not a real alternative to EditPlus, nor an editor for coders. They're rather a replacement for the standard Notepad that comes with Microsoft Windows.''&lt;br /&gt;
&lt;br /&gt;
==Notepad2==&lt;br /&gt;
*[http://www.flos-freeware.ch/notepad2.html Notepad2] ''(freeware, open source)''&lt;br /&gt;
Notepad replacement based on the Scintilla editing component. Supports syntax highlighting, regex search/replace, DOS/UNIX/Mac line endings, Unicode, and bookmarks. However, as a notepad replacement, will only open one file per instance, can't define new languages for highlighting (without recompiling), and doesn't support code folding. An excellent notepad replacement, none the less.&lt;br /&gt;
&lt;br /&gt;
==TheGun==&lt;br /&gt;
*[http://www.movsd.com/thegun.htm TheGun] ''(freeware)''&lt;br /&gt;
TheGun is entirely coded in Microsoft Assembler (MASM) using the Windows API functions. File size is 6k (6144 bytes). It doesn't require installation, it doesn't write in the registry, and doesn't use external DLLs. It comes with a configuration file (SETGUN.EXE) that patches the exectutable according to the user's preferences, so it doesn't need to load an INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can open any kind of file (even binary data) and it has no size limit.&lt;br /&gt;
&lt;br /&gt;
==RogSoft NotePad+==&lt;br /&gt;
*[http://www.mypeecee.org/rogsoft/ RogSoft NotePad+] ''(freeware, not open source)''&lt;br /&gt;
Notepad replacement able to open multiple documents.&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Linux/BSD=&lt;br /&gt;
''If [[Running on Linux|EditPlus under WINE]] is unacceptable to you, try the following Linux/BSD text editors with features comparable to EditPlus.''&lt;br /&gt;
&lt;br /&gt;
==KATE==&lt;br /&gt;
*[http://kate.kde.org/ KATE (KDE Advanced Text Editor)] ''(GPL license)''&lt;br /&gt;
&amp;quot;Kate is a multi document editor, based on a rewritten version of the kwrite editing widget of KDE, offering all the features of that plus a bunch of its own.&amp;quot;  It supports projects and syntax highlighting.&lt;br /&gt;
&lt;br /&gt;
==Bluefish==&lt;br /&gt;
*[http://bluefish.openoffice.nl/ Bluefish] ''(GPL license)''&lt;br /&gt;
Top EditPlus shared features: projects, syntax highlighting, auto-complete, ClipText-like panel, POSIX Regex (and Perl!), custom shortcut keys, run custom external applications. It requires GTK 2.0 or newer (GTK 2.4 or newer is recommended).&amp;lt;br /&amp;gt;&lt;br /&gt;
On Debian and Ubuntu it can be installed using APT: '''apt-get install bluefish'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Gentoo it can be installed using emerge: ''' emerge -av bluefish '''.&lt;br /&gt;
&lt;br /&gt;
==SciTE==&lt;br /&gt;
*[http://www.scintilla.org/SciTE.html SciTE] ''(freeware, open source)''&lt;br /&gt;
&amp;quot;SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations - I use it for building test and demonstration programs as well as SciTE and Scintilla, themselves.&amp;quot;&lt;br /&gt;
It requires GTK+.&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Linux shell=&lt;br /&gt;
&lt;br /&gt;
==JED==&lt;br /&gt;
*[http://www.jedsoft.org/jed/ JED] ''(freeware, open source)''&lt;br /&gt;
Not nearly as powerful as EditPlus, but probably the easiest text editor for Linux console, with menus, syntax highlighting, copy/paste text selection, etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Debian and Ubuntu it can be installed using APT: '''apt-get install jed'''.&lt;br /&gt;
&lt;br /&gt;
== mcedit (Midnight Commander Editor) ==&lt;br /&gt;
*[http://www.ibiblio.org/mc/ GNU Midnight Commander] ''(GPL, open source)''&lt;br /&gt;
Internal file editor of GNU Midnight Commander filesystem browser, based in the&lt;br /&gt;
terminal version of cooledit, but can be invoked and used from the shell. &lt;br /&gt;
It has syntax highlighting, regular expression searching, mouse support, macro &lt;br /&gt;
commands, edits text and binary files up to 64MB. Very easy to use.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Ubuntu can be installed using APT: '''apt-get install mc''' (from Universe repositories).&amp;lt;br /&amp;gt;&lt;br /&gt;
On Slackware is included in the ''ap'' category.&lt;br /&gt;
&lt;br /&gt;
==VIM==&lt;br /&gt;
*[http://www.vim.org/ VIM (Vi IMproved)] ''(GPL compatible charityware, open source)''&lt;br /&gt;
Popular text editor for Linux console, although it's a bit hard to use for the average user.&amp;lt;br /&amp;gt;&lt;br /&gt;
On Debian and Ubuntu it can be installed using APT: '''apt-get install vim'''.&lt;br /&gt;
&lt;br /&gt;
=Alternative editors for Mac=&lt;br /&gt;
&lt;br /&gt;
==BBEdit==&lt;br /&gt;
*[http://www.barebones.com/products/bbedit/index.shtml BBEdit] ''(shareware)''&lt;br /&gt;
HTML and text editor for the Mac&amp;lt;br /&amp;gt;&lt;br /&gt;
Cory Doctorow is constantly [http://www.google.com/search?ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;q=bbedit&amp;amp;btnG=Search+Boing+Boing&amp;amp;domains=boingboing.net&amp;amp;sitesearch=boingboing.net singing its praises] on [http://www.boingboing.net/ BoingBoing]&lt;br /&gt;
&lt;br /&gt;
==TextMate==&lt;br /&gt;
*[http://macromates.com/ TextMate] ''(shareware)''&lt;br /&gt;
Text editor for Mac OS X. Code highlighting and folding, tag closing, macros, tabs, amazingly extensible. Very good for programmers. Shareware, &amp;amp;euro;39.&lt;br /&gt;
&lt;br /&gt;
==Smultron==&lt;br /&gt;
*[http://smultron.sourceforge.net/ Smultron] ''(open source - BSD license)''&lt;br /&gt;
Text editor for Mac OS X.  Requires version 10.4.5 or higher - some older versions of Smultron support older versions of OS X.  Supports syntax highlighting, regular expressions, and other stuff.  Available in English, German, Chinese (traditional), French, Russian, Czech, Italian, Japanese, and Swedish.  [http://smultron.sourceforge.net/features.html Full list of features.]&lt;br /&gt;
Open-source/BSD license.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2007-09-05T18:02:41Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Upcoming version */ v3.00&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v2.31 (406) available from the [http://www.editplus.com/download.html Download Page] or the [ftp://ftp.editplus.com/ EditPlus anonymous FTP].&lt;br /&gt;
&amp;lt;br /&amp;gt;Released on March, 15 2007&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Run the executable installer.&lt;br /&gt;
&lt;br /&gt;
== Latest Patch ==&lt;br /&gt;
&lt;br /&gt;
The latest patch for version 2.31 is build 542, released 2007-08-02.&lt;br /&gt;
&lt;br /&gt;
A beta bug patch has been released to [[#Beta releases|beta testers]].&lt;br /&gt;
&lt;br /&gt;
Patches can be downloaded from&lt;br /&gt;
[http://www.editplus.com/trouble.html EditPlus Patches page]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Extract the files in the ZIP compressed patch file into the EditPlus installation directory.&lt;br /&gt;
&lt;br /&gt;
== Upcoming version ==&lt;br /&gt;
v3.00 - It will be available only for Windows 2000, XP, and Vista, losing compatibility with Windows 95, 98, and ME.&lt;br /&gt;
&lt;br /&gt;
=== Beta releases ===&lt;br /&gt;
Beta releases are available for beta testers only.&lt;br /&gt;
&lt;br /&gt;
They can be downloaded from&lt;br /&gt;
http://www.editplus.com/beta/beta-en.html&lt;br /&gt;
which is password protected.&lt;br /&gt;
&lt;br /&gt;
To become a betatester and get a password, you must be a registered user of the current version and apply here:&lt;br /&gt;
http://www.editplus.com/betainfo.html&lt;br /&gt;
&lt;br /&gt;
== Localizations ==&lt;br /&gt;
&lt;br /&gt;
See the [[Localization]] page for EditPlus translated into other languages.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 2.31 ==&lt;br /&gt;
&lt;br /&gt;
This is a bug patch release which accumulates previous bug patch files.&lt;br /&gt;
&lt;br /&gt;
* -cursor command-line option could cause program crash.&lt;br /&gt;
* Ctrl+'drag and drop' did not work in some case.&lt;br /&gt;
* Multi-line regexp did not work correctly.&lt;br /&gt;
* Word by word selection did not work correctly in word wrap mode.&lt;br /&gt;
* 'Capitalize' command could not recognize apostrophe.&lt;br /&gt;
* On Open Remote dialog box, &amp;quot;..&amp;quot; icon did not work with some servers.&lt;br /&gt;
* Directory Window could not handle some Japanese characters.&lt;br /&gt;
* Collapse command with column selection could cause program crash.&lt;br /&gt;
* @LANGUAGE=VBScript directive could break JavaScript syntax colors.&lt;br /&gt;
* Find in Files could cause program crash with very large files.&lt;br /&gt;
* 'Dialog font' option added on the Function List.&lt;br /&gt;
* Fixes false file modification warnings on some network drives.&lt;br /&gt;
* 'Disconnect automatically' option did not work correctly.&lt;br /&gt;
* 'Include directory names' backup option added.&lt;br /&gt;
* 'USER with no logon' firewall option did not work correctly.&lt;br /&gt;
* 'Save Window Width' command added (Window-&amp;gt;Others).&lt;br /&gt;
* 'Copy as HTML' was always in uppercase.&lt;br /&gt;
* 'Reformat' command did not work correctly with some Japanese files.&lt;br /&gt;
* 'Stretch' command added (Window-&amp;gt;Others).&lt;br /&gt;
* Regular expression search could cause infinite loop.&lt;br /&gt;
* Fixes &amp;quot;Unexpected Error GLP&amp;quot;.&lt;br /&gt;
* Some mouse wheel didn't work on Windows Vista.&lt;br /&gt;
* 'Include date and time' backup option added.&lt;br /&gt;
* Prevents possible browser refresh problem on network drive.&lt;br /&gt;
* Custom output pattern did not work with unsaved buffer.&lt;br /&gt;
* Open Selection command could not handle trailing white spaces.&lt;br /&gt;
* On Open Remote dialog box, &amp;quot;..&amp;quot; icon did not work with some servers.&lt;br /&gt;
* 'View in Browser 2' did not work with the 'other browser' option.&lt;br /&gt;
* Fixes screen scroll bug when turning on/off the word wrap option.&lt;br /&gt;
* Fixes cursor indicator bug with the Page Up/Down key.&lt;br /&gt;
* System default browser option didn't work correctly on Windows Vista.&lt;br /&gt;
&lt;br /&gt;
== What's New in Version 2.30 ==&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Code Folding based on line indentation (View-&amp;gt;Code Folding).&lt;br /&gt;
* 'Copy as HTML' command (Edit-&amp;gt;Clipboard).&lt;br /&gt;
* 'Search Document', 'Search All Open Files' command (Edit-&amp;gt;Insert).&lt;br /&gt;
* $(WindwList) argument macro supports 'Create temp file of remote file' option.&lt;br /&gt;
* 'Use XHTML tags' option (Preferences-&amp;gt;General).&lt;br /&gt;
* Setup program supports 'Store configuration files in my profile directory' option.&lt;br /&gt;
* 'Sum' command (Tools).&lt;br /&gt;
* 'View in Browser 2' command (View).&lt;br /&gt;
* 'Create File' command (Directory Window).&lt;br /&gt;
* 'Default encoding' option (Preferences-&amp;gt;Files).&lt;br /&gt;
* 'Beginning page number' option (Preferences-&amp;gt;Print).&lt;br /&gt;
* Holding down the Shift key when deleting file bypasses the Recycle Bin.&lt;br /&gt;
* Backup File Directory option allows environment variable.&lt;br /&gt;
* 'Warn if server doesn't respond in 10 sec.' option (FTP Settings).&lt;br /&gt;
* Adds 'Document'-&amp;gt;'File Format Multiple' as a separate command.&lt;br /&gt;
* Toolbar button for 'File Directory', 'Monitor Clipbaord', 'Set Read Only'.&lt;br /&gt;
* 'Use system font in dialog box' option (Preferences-&amp;gt;Fonts).&lt;br /&gt;
* 'Trim trailing spaces on save' option (Preferences-&amp;gt;Settings &amp;amp; syntax).&lt;br /&gt;
* 'UTf-8 signature' option (Preferences-&amp;gt;files).&lt;br /&gt;
* Supports Unicode big endian files.&lt;br /&gt;
* 'Always on Top' command (Window).&lt;br /&gt;
* 'Find in Directory' command (Directory Window);&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* On the FTP upload status, cancel button could cause program crash.&lt;br /&gt;
* Word wrap could be wrong when deleting text.&lt;br /&gt;
* Find and replace on column selection could cause program crash.&lt;br /&gt;
* 'Force displaying hidden files' FTP option caused problem with VMS servers.&lt;br /&gt;
* Keystroke recordings did not work with the Tabs to Spaces command.&lt;br /&gt;
* Some Hangul IME did not work correctly.&lt;br /&gt;
* sftp could not handle servers which send SSH_MSG_IGNORE packet.&lt;br /&gt;
* FTP did not work correctly with some Mac servers.&lt;br /&gt;
* Program could crash with some syntax files.&lt;br /&gt;
* Duplicate Char command did not work correctly in some cases.&lt;br /&gt;
* NTFS File summaries were not preserved on file save.&lt;br /&gt;
* Clicking '..' on Open Remote dialog box did not work with VMS servers.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.editplus.com/new.html What's New page on EditPlus official website]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Running_on_a_USB_flash_drive</id>
		<title>Running on a USB flash drive</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Running_on_a_USB_flash_drive"/>
				<updated>2007-08-15T14:26:19Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As we all already know, EditPlus is an extremely handy and efficient text editor.  Wouldn't it be nice if you could install EditPlus on a portable USB flash drive (aka thumbdrive, Flash Drive, USB jump drive) so that you can take it anywhere.  Are you a programming student or web design student?  Does your school's computers have USB ports? If so, this tutorial is for you.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
In order to install EditPlus on your thumb drive, you will need the following:&lt;br /&gt;
   * A computer with Admin privileges (your computer at home, for instance)&lt;br /&gt;
   * A USB flash drive (jumpdrive, thumbdrive, portable USB hard drive, whatever...)&lt;br /&gt;
   * Access to the internet.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
'''Step 1)''' Find a computer where you have administrative privileges, like your home computer (hopefully).  Chances are, you won't be able to do this on a properly secured school computer.&lt;br /&gt;
&lt;br /&gt;
'''Step 2)''' Visit EditPlus.com and download the installation files.&lt;br /&gt;
&lt;br /&gt;
'''Step 3)''' Install EditPlus on your USB flash drive.&lt;br /&gt;
&lt;br /&gt;
'''Step 4)''' If you haven't done so already, purchase EditPlus. Support this great software.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
USB flash drives are automatically assigned a drive letter by Windows.  Chances are, that the drive letter assigned to your flash drive will vary depending on the classroom or lab the computer is in.  If you open EditPlus and it says that it cannot find any of the configuration files, continue loading EditPlus while canceling all the error boxes that appear.  Then, in EditPlus, click on ''Tools -&amp;gt; Ini File Directory''. Change this from &amp;quot;E:\EditPlus&amp;quot; to &amp;quot;.&amp;quot;.  This will place all INI configuration files in the directory EditPlus is launched from.&lt;br /&gt;
&lt;br /&gt;
Now you need to change the file paths in the INI files.&lt;br /&gt;
You can do it either from inside the application or editing configuration files manually.&lt;br /&gt;
&lt;br /&gt;
If you want to do that from EditPlus, open the Preferences by clicking ''Tools -&amp;gt; Preferences''.  The first thing to update is the syntax highlighting and auto completion in ''Preferences -&amp;gt; Files -&amp;gt; Settings &amp;amp; syntax''.  Select each file type and delete the file path in front of the filename.  In other words, change &amp;quot;E:\EditPlus\cpp.stx&amp;quot; to &amp;quot;cpp.stx&amp;quot; and repeat for HTML, Perl, etc. If you prefer to keep a path, use &amp;quot;.\&amp;quot; (which means &amp;quot;current directory&amp;quot; in front of the file name; example: &amp;quot;.\cpp.stx&amp;quot;).  The next thing to update is the template files in ''Preferences -&amp;gt; Files -&amp;gt; Templates''.  The last change is to update the Spell checker dictionary in ''Preferences -&amp;gt; Tools -&amp;gt; Spell checker''.  Once you are changed all the file types and templates click ''Apply''.&lt;br /&gt;
&lt;br /&gt;
If you prefer to edit configuration files (which is probably quicker), open &amp;quot;template.ini&amp;quot; and &amp;quot;setting.ini&amp;quot; and replace any occurrence of &amp;quot;X:\Program Files\EditPlus 2&amp;quot; (or the actual path where your copy of EditPlus was stored) as &amp;quot;.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The last file path is the &amp;quot;WorkSpace Path&amp;quot; parameter in &amp;quot;editplus.ini&amp;quot; (where files are saved by default). Change it to &amp;quot;.&amp;quot;. However such path contains the last directory you've used to load or save files and it's likely to be changed regularly.&lt;br /&gt;
&lt;br /&gt;
If you get an error message when you open a file simply click ''Document -&amp;gt; Refresh STX/ACP''.&lt;br /&gt;
&lt;br /&gt;
== Potential Problems ==&lt;br /&gt;
'''EditPlus v2.21.381'''&lt;br /&gt;
&lt;br /&gt;
One thing I've noticed is EditPlus does not respect the 'INI File Directory' setting when opened by the shell extension (eg. [right-click]-&amp;gt;EditPlus). The problem occurs when EditPlus is not running, and then opened with a right click, EditPlus looks for all the syntax/ctl/acp files in the folder where editplus.exe is located and not where they have been defined to be from the ini files. This behavior is inconsistent so it is most likely a bug.&lt;br /&gt;
&lt;br /&gt;
I have setup EditPlus to have all relative paths with files sorted into appropriate folders as shown below, which works fine when editplus is opened first and the file to be edited is opened second:&lt;br /&gt;
&lt;br /&gt;
 ├───acp_files&lt;br /&gt;
 ├───apps&lt;br /&gt;
 │   ├───cobol&lt;br /&gt;
 │   ├───esc&lt;br /&gt;
 │   ├───html_tidy&lt;br /&gt;
 │   ├───par&lt;br /&gt;
 │   └───php&lt;br /&gt;
 ├───ctl_files&lt;br /&gt;
 ├───dictionary  // (user-dict)&lt;br /&gt;
 ├───ini_files&lt;br /&gt;
 ├───syntax_files&lt;br /&gt;
 ├───templates&lt;br /&gt;
 ├─.(dll's and all other files)&lt;br /&gt;
 ├─editplus.exe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Feature Requests#Portable EditPlus|Feature Requests for Portable EditPlus]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Talk:Main_Page"/>
				<updated>2007-07-10T08:19:07Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Removing spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Spam on the main page==&lt;br /&gt;
The main page is getting spammed to bits, can nothing be done about this?&lt;br /&gt;
: Spam filters seem to be working. Last spam deletion is dated 16 February 2006.&lt;br /&gt;
:: May be it's time to update spam filters.&lt;br /&gt;
::: Also, can't we make this Wiki editable only by registered users, to reduce spam...? Contributions are spare anyway, so there's little sense in keeping it open to unregistered visitors.&lt;br /&gt;
:::*I agree. --[[User:66.120.20.70|66.120.20.70]] 13:02, 30 March 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Fonts</id>
		<title>Fonts</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Fonts"/>
				<updated>2007-07-07T12:25:23Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: /* How to change fonts */ How to change fonts used by EditPlus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==List of fonts for coders==&lt;br /&gt;
&lt;br /&gt;
===Programmers' fonts===&lt;br /&gt;
''Fonts expressely conceived for programming''&lt;br /&gt;
*[http://www.proggyfonts.com/index.php?menu=download Proggy Fonts] (TrueType, fixed width, '''free''')&lt;br /&gt;
*[http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ Bitstream Vera Sans Mono] (TrueType, fixed width, '''free''')&lt;br /&gt;
*[http://dejavu.sourceforge.net/wiki/index.php/Main_Page DejaVu Sans Mono] (TrueType, fixed width, '''free''')&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Andale_Mono Andale Mono] (TrueType, fixed width, '''free, old Microsoft web core font''')&lt;br /&gt;
*[http://www.ms-studio.com/FontSales/anonymous.html Anonymous] (TrueType, fixed width, '''free''')&lt;br /&gt;
*[http://www.tobias-jung.de/seekingprofont/ ProFont] (Bitmap, fixed width, '''free''')&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&amp;amp;displaylang=en Consolas] (TrueType, fixed width, '''commercial, free for Licensed users of Microsoft Visual Studio 2005''')&lt;br /&gt;
*[http://www.fontmenu.com/site/_program.html Oloron Program] (TrueType, fixed width, '''commercial''')&lt;br /&gt;
*[http://www.donationcoder.com/Software/Jibz/Dina/ Dina] (Bitmap, fixed width, '''free''')&lt;br /&gt;
&lt;br /&gt;
===Old school &amp;quot;8-bit&amp;quot; fonts===&lt;br /&gt;
''Fonts from computer systems and videogames of the '80s, for nostalgics and retrocoders''&lt;br /&gt;
*[http://simplythebest.net/fonts/fonts/commodore_64.html Commodore 64 Font] (TrueType, fixed width, '''free''')&lt;br /&gt;
*[http://www.freakyfonts.de/fonts_frame.html Freaky Fonts (many fonts, including Commodore Amiga)]  (TrueType/BitMap, fixed width/proportional, '''free''')&lt;br /&gt;
*[http://www.zone38.net/font/ Font Stuff from codeman38 (several fonts)] (TrueType, fixed width, '''free''')&lt;br /&gt;
&lt;br /&gt;
==How to change fonts used by EditPlus==&lt;br /&gt;
Go to Tools / Preferences... / General / Fonts&lt;br /&gt;
&lt;br /&gt;
==How to install new fonts in Windows==&lt;br /&gt;
Copy &amp;amp; Paste (or Drag &amp;amp; Drop) the file of the font you want to install into the Windows Font system folder (normally C:\WINDOWS\Fonts ).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Lorem ipsum]]&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_talk:WikiSysop</id>
		<title>User talk:WikiSysop</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_talk:WikiSysop"/>
				<updated>2007-07-07T10:55:15Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: EditPlus Wiki is being spammed daily. Please do something about it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Spam on EditPlus Wiki==&lt;br /&gt;
Hello, this website is being vandalized and spammed to bits on a daily basis. The situation is totally out of control. Please make the pages editable by registered users only (even better by users who registered since at least a few days, if the version of WikiMedia installed here supports such feature). --[[User:ElfQrin|ElfQrin]] 03:55, 7 July 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/EditPlus_Wiki_talk:Community_Portal</id>
		<title>EditPlus Wiki talk:Community Portal</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/EditPlus_Wiki_talk:Community_Portal"/>
				<updated>2007-07-07T10:53:32Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: br&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editplus under Linux ==&lt;br /&gt;
Hello everyone,&lt;br /&gt;
&lt;br /&gt;
I use editplus now for about 4 years, its great and I cannot live without it.&lt;br /&gt;
But I want to step over to an linux based computer. Can someone tell me if editplus is developt also for linux?&lt;br /&gt;
Or If there is a really good other editplus for linux?&lt;br /&gt;
&lt;br /&gt;
Thanxx&amp;lt;br /&amp;gt;&lt;br /&gt;
''Bjorn''&lt;br /&gt;
&lt;br /&gt;
: EditPlus hasn't been ported to Linux, but you might find this useful: [[Running on Linux]]. --[[User:80.181.144.225|80.181.144.225]] 16:44, 22 June 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
== C/C++ Syntax ==&lt;br /&gt;
Yes under Linux! and + we need a C/C++ syntax file comperable with &amp;quot;vi editor&amp;quot;! It's quite possible that somebody has alredy done a better syntax file for C! If so pls mention it here..&lt;br /&gt;
&lt;br /&gt;
Thanks&amp;lt;br /&amp;gt;&lt;br /&gt;
''cuneytalpay (at) yahoo.com''&lt;br /&gt;
&lt;br /&gt;
== Is it possible to configure Ant as a user tool ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Hi,&lt;br /&gt;
   I've just spent 30 minutes trying to configure EditPlus to use ant as a user tool. My latest attempt is:&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: &amp;quot;C:\Program Files\Ant\bin\ant.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Arg: -f $(FileName) $(CurSel)&lt;br /&gt;
&lt;br /&gt;
Initial Dir: $(FileDir)&lt;br /&gt;
&lt;br /&gt;
Capture output: yes , Save open files: yes&lt;br /&gt;
&lt;br /&gt;
which didn't work. Any ideas?&lt;br /&gt;
&lt;br /&gt;
thanks&amp;lt;br /&amp;gt;&lt;br /&gt;
''BriLarks''&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer 6 and 7 won't use EditPlus to edit HTML files ==&lt;br /&gt;
I have set Editplus as the default editor for IE using the Use EditPlus in Internet Explorer 5 (sic) checkbox.&lt;br /&gt;
The registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name was then changed by EditPlus to D:\PROGRA~1\EDITPL~1\eppie.exe (which is where I have it installed)&lt;br /&gt;
&lt;br /&gt;
But... in IE, the Tools &amp;gt; Internet Options &amp;gt; Programs tab still shows a blank instead of EditPlus and, more annoyingly, a context-menu click on Edit still brings up notepad.&lt;br /&gt;
&lt;br /&gt;
Has anyone else seen this and perhaps ;) figured out how to correct this behaviour?&lt;br /&gt;
&lt;br /&gt;
Thanks&amp;lt;br /&amp;gt;&lt;br /&gt;
''Ian Portman''&lt;br /&gt;
&lt;br /&gt;
== SQLPLUS as a user tool ==&lt;br /&gt;
Hi All&lt;br /&gt;
&lt;br /&gt;
I have managed to integrate sqlcmd (SQL Server command line) with EditPlus. If you are interested:&lt;br /&gt;
&lt;br /&gt;
Command:  sqlcmd.exe &lt;br /&gt;
&lt;br /&gt;
Argument: -S {server} -U {username} -P {password} -e -u -s| -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Capture Output&lt;br /&gt;
&lt;br /&gt;
It will prompt you for a database name and run the selected (highlighted) SQL statement.&lt;br /&gt;
&lt;br /&gt;
I have not tested but am sure sqlcmd.exe can be happily replaced with isql.exe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would now like to do the same with SQLPLUS (Oracle command line).&lt;br /&gt;
&lt;br /&gt;
There is no equivalent to &amp;quot;-Q&amp;quot; but the following DOS command does the same:&lt;br /&gt;
&lt;br /&gt;
DOS PROMPT&amp;gt; echo select * from testtable | sqlplus {username}/{password}@{schema}&lt;br /&gt;
&lt;br /&gt;
It pipes the select statement into a new sqlplus shell instance, displays the output, and returns to the DOS prompt.&lt;br /&gt;
&lt;br /&gt;
How do you use this syntax to add an EditPlus user tool?&lt;br /&gt;
&lt;br /&gt;
''Kai''&lt;br /&gt;
&lt;br /&gt;
'''UPDATE: have found a way; see the EditPlus User Tools Wiki'''&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/EditPlus_Wiki_talk:Community_Portal</id>
		<title>EditPlus Wiki talk:Community Portal</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/EditPlus_Wiki_talk:Community_Portal"/>
				<updated>2007-07-07T10:52:21Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Removing spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editplus under Linux ==&lt;br /&gt;
Hello everyone,&lt;br /&gt;
&lt;br /&gt;
I use editplus now for about 4 years, its great and I cannot live without it.&lt;br /&gt;
But I want to step over to an linux based computer. Can someone tell me if editplus is developt also for linux?&lt;br /&gt;
Or If there is a really good other editplus for linux?&lt;br /&gt;
&lt;br /&gt;
Thanxx&lt;br /&gt;
''Bjorn''&lt;br /&gt;
&lt;br /&gt;
: EditPlus hasn't been ported to Linux, but you might find this useful: [[Running on Linux]]. --[[User:80.181.144.225|80.181.144.225]] 16:44, 22 June 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
== C/C++ Syntax ==&lt;br /&gt;
Yes under Linux! and + we need a C/C++ syntax file comperable with &amp;quot;vi editor&amp;quot;! It's quite possible that somebody has alredy done a better syntax file for C! If so pls mention it here..&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
''cuneytalpay (at) yahoo.com''&lt;br /&gt;
&lt;br /&gt;
== Is it possible to configure Ant as a user tool ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Hi,&lt;br /&gt;
   I've just spent 30 minutes trying to configure EditPlus to use ant as a user tool. My latest attempt is:&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: &amp;quot;C:\Program Files\Ant\bin\ant.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Arg: -f $(FileName) $(CurSel)&lt;br /&gt;
&lt;br /&gt;
Initial Dir: $(FileDir)&lt;br /&gt;
&lt;br /&gt;
Capture output: yes , Save open files: yes&lt;br /&gt;
&lt;br /&gt;
which didn't work. Any ideas?&lt;br /&gt;
&lt;br /&gt;
thanks&lt;br /&gt;
''BriLarks''&lt;br /&gt;
&lt;br /&gt;
== Internet Explorer 6 and 7 won't use EditPlus to edit HTML files ==&lt;br /&gt;
I have set Editplus as the default editor for IE using the Use EditPlus in Internet Explorer 5 (sic) checkbox.&lt;br /&gt;
The registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name was then changed by EditPlus to D:\PROGRA~1\EDITPL~1\eppie.exe (which is where I have it installed)&lt;br /&gt;
&lt;br /&gt;
But... in IE, the Tools &amp;gt; Internet Options &amp;gt; Programs tab still shows a blank instead of EditPlus and, more annoyingly, a context-menu click on Edit still brings up notepad.&lt;br /&gt;
&lt;br /&gt;
Has anyone else seen this and perhaps ;) figured out how to correct this behaviour?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
''Ian Portman''&lt;br /&gt;
&lt;br /&gt;
== SQLPLUS as a user tool ==&lt;br /&gt;
Hi All&lt;br /&gt;
&lt;br /&gt;
I have managed to integrate sqlcmd (SQL Server command line) with EditPlus. If you are interested:&lt;br /&gt;
&lt;br /&gt;
Command:  sqlcmd.exe &lt;br /&gt;
&lt;br /&gt;
Argument: -S {server} -U {username} -P {password} -e -u -s| -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Capture Output&lt;br /&gt;
&lt;br /&gt;
It will prompt you for a database name and run the selected (highlighted) SQL statement.&lt;br /&gt;
&lt;br /&gt;
I have not tested but am sure sqlcmd.exe can be happily replaced with isql.exe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would now like to do the same with SQLPLUS (Oracle command line).&lt;br /&gt;
&lt;br /&gt;
There is no equivalent to &amp;quot;-Q&amp;quot; but the following DOS command does the same:&lt;br /&gt;
&lt;br /&gt;
DOS PROMPT&amp;gt; echo select * from testtable | sqlplus {username}/{password}@{schema}&lt;br /&gt;
&lt;br /&gt;
It pipes the select statement into a new sqlplus shell instance, displays the output, and returns to the DOS prompt.&lt;br /&gt;
&lt;br /&gt;
How do you use this syntax to add an EditPlus user tool?&lt;br /&gt;
&lt;br /&gt;
''Kai''&lt;br /&gt;
&lt;br /&gt;
'''UPDATE: have found a way; see the EditPlus User Tools Wiki'''&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Talk:Main_Page"/>
				<updated>2007-07-07T10:43:56Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Removing spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Spam on the main page==&lt;br /&gt;
The main page is getting spammed to bits, can nothing be done about this?&lt;br /&gt;
: Spam filters seem to be working. Last spam deletion is dated 16 February 2006.&lt;br /&gt;
:: May be it's time to update spam filters.&lt;br /&gt;
::: Also, can't we make this Wiki editable only by registered users, to reduce spam...? Contributions are spare anyway, so there's little sense in keeping it open to unregistered visitors.&lt;br /&gt;
:::*I agree. --[[User:66.120.20.70|66.120.20.70]] 13:02, 30 March 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/EditPlus_Wiki:Site_support</id>
		<title>EditPlus Wiki:Site support</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/EditPlus_Wiki:Site_support"/>
				<updated>2007-07-06T00:58:52Z</updated>
		
		<summary type="html">&lt;p&gt;ElfQrin: Removed spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Currently no donations are sought.&lt;/div&gt;</summary>
		<author><name>ElfQrin</name></author>	</entry>

	</feed>
