12-05-2011
Hi,
The database is mysql, but the regex I will run will not actually be run on the database as such,
mediawiki allows me to run the search and replace on only the articles and titles directly through an extension, so I wont run this on a dump or in mysql itself,
Here is the description from the author of the extension
The set of regular expressions allowed is basically a small subset of the PHP and MySQL regular-expression sets (it has only been tested with MySQL - whether it works on other database systems is unknown). The characters that one can use in the search string are "( ) . * + ? [ ] |", and within the replacement string one can use values like $1, $2 etc. This section will not give a tutorial on using regular expressions (the Wikipedia article is a good place to start for that, as is this page on MySQL regexps), but here is the basic example listed in the inline explanation:
Search string: a(.*)c
Replacement string: ac$1
This would look for pages containing the letter 'a', the letter 'c', and any text in between (signified by the ".*"). It would then put that middle text after the 'a' and 'c' - the "$1" in the replacement string refers to the first element of the search string contained within parentheses (in this case, there's only one).
Cheers
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have a file that contains the following contents:
14:05 apple
orange123
456mango
16:45 banana
I wanted to replace ONLY the "14:05 " and "16:45" with nothing and trying to use the following syntax
sed -e 's/*//g' -e 's/^: //g' my_file > new_temp
cat new_temp
apple
orange... (2 Replies)
Discussion started by: ghazi
2 Replies
2. Shell Programming and Scripting
Hi all,
I have one question that hopefully isn't too complicated for the more advanced users here. In one of the Solaris KSH scripts I'm working on, is it possible to script the following:
- If there "is" an empty blank line "at the end" of /tmp/text.txt, then remove only that one empty... (3 Replies)
Discussion started by: chatguy
3 Replies
3. Shell Programming and Scripting
Thanks for giving your time and effort to answer questions and helping newbies like me understand awk.
I have a huge file, millions of lines, so perl takes quite a bit of time, I'd like to convert these perl one liners to awk.
Basically I'd like all lines with ISA sandwiched between... (9 Replies)
Discussion started by: verge
9 Replies
4. Shell Programming and Scripting
Hi
Input:
-
--
---
----
aa-bb-cc
aa--bb--cc
aa---bb---cc
aa----bb----cc
Output:
.
-
-.
--
aa.bb.cc (7 Replies)
Discussion started by: chitech
7 Replies
5. Shell Programming and Scripting
Hi,
I'm trying to match the front and back of a sequence. It works when there is an exact match (obviously), but I need the regex to be more flexible. When we get strings of nucleotides sometimes their prefixes and suffixes aren't exact matches. Sometimes there will be an extra letter and... (2 Replies)
Discussion started by: jdilts
2 Replies
6. Shell Programming and Scripting
Hi all,
I am trying to modify an xml file and I wanted to search and replace using the sed command but here is my issue. I want to search and replace maximumHeapSize="512" and replace it with maximumHeapSize="768" but I have multiple files with different values so I can't search for... (2 Replies)
Discussion started by: reyes99
2 Replies
7. Shell Programming and Scripting
I have file which contains data in the following format all in a single line:
BDW_PUBLN_ID DECIMAL(18:0) NOT NULL PRIMARY INDEX ARGO_ACCT_DEP_PI ( OFC_ID ,CSHBX_ID ,TRXN_SEQ_NUM ,PROCG_DT ) PARTITION BY RANGE_N(PROCG_DT BETWEEN DATE '2012-03-01' AND DATE '2014-12-31' EACH INTERVAL '1' MONTH );... (4 Replies)
Discussion started by: ysvsr1
4 Replies
8. Shell Programming and Scripting
I have text file like below:
a.txt
Server=abc
Run=1
Time=120.123
Tables=10
Sessions=16
Time=380.123
Version=1.1
Jobs=5
Server=abc
Run=2
Time=160.123
Tables=15
Sessions=16
Time=400.258
Version=2.0 (1 Reply)
Discussion started by: sol_nov
1 Replies
9. Shell Programming and Scripting
Have Pipe Delimited File:
> BRYAN BAKER|4/4/2015|518 VIRGINIA AVE|TEST
> JOE BAXTER|3/30/2015|2233 MockingBird RD|ROW2On 3rd column where the address is located, I want to add a space after every numeric value - basically doing a "s//&\ / ":
> BRYAN BAKER|4/4/2015|5 1 8 VIRGINIA AVE|TEST
> JOE... (5 Replies)
Discussion started by: svn
5 Replies
10. UNIX for Beginners Questions & Answers
Hi,
Below is an excerpt from a 20000+ lines and I want to do a search and replace of a specific string but I don't know how and I can't figure out how to. Can't find an example from Google or anywhere to do what I am wanting to do.
A 2018-11-21 08:42:17 TEST_TEST 2018-11-21... (9 Replies)
Discussion started by: newbie_01
9 Replies
LEARN ABOUT PHP
str_replace
STR_REPLACE(3) 1 STR_REPLACE(3)
str_replace - Replace all occurrences of the search string with the replacement string
SYNOPSIS
mixed str_replace (mixed $search, mixed $replace, mixed $subject, [int &$count])
DESCRIPTION
This function returns a string or an array with all occurrences of $search in $subject replaced with the given $replace value.
If you don't need fancy replacing rules (like regular expressions), you should always use this function instead of preg_replace(3).
PARAMETERS
If $search and $replace are arrays, then str_replace(3) takes a value from each array and uses them to search and replace on $subject. If
$replace has fewer values than $search, then an empty string is used for the rest of replacement values. If $search is an array and
$replace is a string, then this replacement string is used for every value of $search. The converse would not make sense, though.
If $search or $replace are arrays, their elements are processed first to last.
o $search
- The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.
o $replace
- The replacement value that replaces found $search values. An array may be used to designate multiple replacements.
o $subject
- The string or array being searched and replaced on, otherwise known as the haystack. If $subject is an array, then the search
and replace is performed with every entry of $subject, and the return value is an array as well.
o $count
- If passed, this will be set to the number of replacements performed.
RETURN VALUES
This function returns a string or an array with the replaced values.
EXAMPLES
Example #1
Basic str_replace(3) examples
<?php
// Provides: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Provides: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Provides: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>
Example #2
Examples of potential str_replace(3) gotchas
<?php
// Order of replacement
$str = "Line 1
Line 2
Line 3
Line 4
";
$order = array("
", "
", "
");
$replace = '<br />';
// Processes
's first so they aren't converted twice.
$newstr = str_replace($order, $replace, $str);
// Outputs F because A is replaced with B, then B is replaced with C, and so on...
// Finally E is replaced with F, because of left to right replacements.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
// Outputs: apearpearle pear
// For the same reason mentioned above
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
NOTES
Note
This function is binary-safe.
Caution
Replacement order gotcha
Because str_replace(3) replaces left to right, it might replace a previously inserted value when doing multiple replacements. See
also the examples in this document.
Note
This function is case-sensitive. Use str_ireplace(3) for case-insensitive replace.
SEE ALSO
str_ireplace(3), substr_replace(3), preg_replace(3), strtr(3).
PHP Documentation Group STR_REPLACE(3)