in reply to Regex operation optimisation
if you need to remove only matching (), your code won't do. Since '.' will match any character including ')' and since it is a greedy match, it will only eliminate the outmost parenthesis and (!)everything in between. Also the space before the parenthesis would have to match. You could use
but you would have to repeat that regex until no match was found anymore. Except if you only have only one level of parenthesis, then one execution of the regex would be enoughs/\([^)]*\)//g #eliminate anything in parenthesis or s/\(([^)]*)\)/$1/g #remove matching parens but not the content
removing characters can be done with one regex using a character class:
s/[%*()]//g;
even parenthesis if you don't mind that they don't match
you could simply use + instead of {1,}
UPDATE to correct a very silly mistake indeed: changed ? to +
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Regex operation optimisation
by number2 (Initiate) on Jul 02, 2010 at 11:12 UTC | |
|
Re^2: Regex operation optimisation
by oldmanwillow (Novice) on Jul 02, 2010 at 12:31 UTC | |
by JavaFan (Canon) on Jul 05, 2010 at 10:40 UTC |