Replace replace with regular expression possible?
Hi,
Just another regular expression question!
I want to replace the words "AND", "OR", "NOT" in a sentence with the symbols '&', '|', '~' respectively.
Obviously very simple to do with 3 replace statements, just wonder if I can use regexp_replace to achieve it?
Cheers
Hi,
Metacharacter symbols can be used in place of regular expressions.
Here's an implementation scenario:
http://www.oracle.com/technology/obe/obe10gdb/develop/regexp/regexp.htm
Hope it helps.
Regards,
Naveed.
Similar Messages
-
Replace with regular expression -complex logics
What is the best way to replace input string with following rules:
1. All occurences of two or more sequential Hyphen-symbols (symbol: "-") must be replaced with one hypen. So if input string was "---" then output should be "-". If input was "a-a-a" then output stays as it is.
2. All occurences of two or more sequential Space-symbols (symbol: " ") must be replaced with one Space. So if input string was " " then output should be " ". If input was "a a a" then output stays as it is.
3. After rules 1-2 are applied following rule apply: All occurences of Space-symbol followed immediately after Hypen-symbol or vice vers- hypen followed by Space must be replaced with Hypen. So if input string was " -" or "- " then output should be "-". If input was "a a-a" then output stays as it is.
4. After rules 1-2-3 are apllied following rule must be applied: String start and end symbol may not be Space or Hypen. So if input string was " a" or "-a" or "a " or "a-" then output should be "a".
All rules 1-4 must be apllied to input string.
Example of the replacement logic:
input: 'a aa ---- ss-ee -'
output: 'a aa-ss-ee'
I think i should use function "regexp_replace" somehow.
This solution below doesn't work because it outputs two consecuent hypens "--":
with t as(
select 'a aa ---- ss-ee -' str from dual
select regexp_replace(str, '--','-') a from t;
/*a aa -- ss-ee -*/Can you suggest one neat regular expression for that?SQL>with t as(
2 select 1 id,'a aa ---- ss-ee -' str from dual union
3 select 2, 'a aa -------- ss-ee ---- - - -' str from dual union
4 select 3, '-' str from dual union
5 select 4, '----- -- -a -' str from dual union
6 select 5, '-a-a-a-a----a-a-a-' str from dual
7 )
8 select id,
9 str,
10 trim(trim('-' from regexp_replace(str, '( |-){2,}', '\1'))) new_str,
11 length(str) len,
12 length(trim(trim('-' from regexp_replace(str, '( |-){2,}', '\1')))) new_len
13 from t;
ID STR NEW_STR LEN NEW_LEN
1 a aa ---- ss-ee - a aa ss-ee 19 10
2 a aa -------- ss-ee ---- - - - a aa ss-ee 34 10
3 - 1
4 ----- -- -a - a 13 1
5 -a-a-a-a----a-a-a- a-a-a-a-a-a-a 18 13 -
Extended Replace with Regular Expressions
I am trying to figure out how to user regular expressions in
HomeSite 5.5 extended search and replace.
I am trying to find all matches to: <span
class="someClass">FooText</span>
And replace with: <sometag>FooText</sometag>
I have been able to get the find part working with reg ex:
<span class=\"someClass\">*[A-Za-z0-9_
><.="']*</span>
However, I have not been able to figure out what to put in
the replace box. I have tried different combinations of syntax with
"\1" for the first match of the reg ex in the search field, but
nothing has worked.
Can someone help me out with the syntax for what I should
enter in the replace field?SQL>with t as(
2 select 1 id,'a aa ---- ss-ee -' str from dual union
3 select 2, 'a aa -------- ss-ee ---- - - -' str from dual union
4 select 3, '-' str from dual union
5 select 4, '----- -- -a -' str from dual union
6 select 5, '-a-a-a-a----a-a-a-' str from dual
7 )
8 select id,
9 str,
10 trim(trim('-' from regexp_replace(str, '( |-){2,}', '\1'))) new_str,
11 length(str) len,
12 length(trim(trim('-' from regexp_replace(str, '( |-){2,}', '\1')))) new_len
13 from t;
ID STR NEW_STR LEN NEW_LEN
1 a aa ---- ss-ee - a aa ss-ee 19 10
2 a aa -------- ss-ee ---- - - - a aa ss-ee 34 10
3 - 1
4 ----- -- -a - a 13 1
5 -a-a-a-a----a-a-a- a-a-a-a-a-a-a 18 13 -
Grouping & Back-references with regular expressions on Replace Text window
I really appreciate the inclusion of the Regular Expressions in the search & replace feature. One thing I am missing is back-references in the replacement expression. For instance, in the unix tools vi or sed, I might do something like this:
s/\(firstPart\) \(secondPart\) \(oldThirdPart\)/\2 \1 newThirdPart/g
which would allow me to switch the places of firstPart and secondPart, and totally replace thirdPart. If grouping and back-references are already present in the Replace Text window, how does one correctly invoke them?duplicate of Grouping & Back-references with regular expressions on Replace Text window
-
Replace without regular expressions
Hi,
Is there a standard java library function that can perform a search and replace WITHOUT regular expressions. Its not so much that I dont want to search by regular expressions, but whenever i have a "$" sign in my replace string it'll chuck a poo. Also, i'm sure regexp has to be much slower.
thanks,
Robert.Wateva, I'll figure it out. I just thought I might be
missing a really simple function or somthing.
Thanks - and enjoy your 'duke dollars' :pFeel free to ask a more detailed question. I don't know how to answer something as general as what you posted. Provide some code, give us an example, tell us what you expect to happen. My sample showed you how to replace a dollar sign, which - as best as I can tell - is the problem you described having.
I've always considered replaceAll() to be pretty simple... -
Replacing a Regular Expression by another
I want to replace a regular expression by another regular expression..i.e
if my input is : <tag>-1
output should be : <tag-1>
as the integer value changes for each tag I cannot hard code.I am able to match it using regular expression ">-\\d" but how do i replace it??
Any workarounds would also be appreciated.
Thanks in advanceIt's not totally clear what you're asking for, but it sounds like something like this:
str = str.replaceAll("<tag>-(\\d+)", "<tag-$1>");Test it, and let me know if you have questions about what it's doing.
Check out [http://www.regular-expressions.info] for a great regex tutorial. -
Assistance with Regular Expression and Tcl
Assistance with Regular Expression and Tcl
Hello Everyone,
I recently began learning Tcl to develop scripts for automating network switch deployments.
In my script, I want to name the device with a location and the last three octets of the base mac address.
I can get the Base MAC address by :
show version | include Base
Base ethernet MAC Address : 00:00:00:DB:CE:00
And I can get the last three octets of the MAC address using the following regular expression.
([0-9a-f]{2}[:-]){2}([0-9a-f]{2}$)
But I have not been able to figure out how to call the regular expression in the tcl script.
I have checked several resources but have not been able to figure it out. Suggestions?
Ultimately, I want to set the last three octets to a variable (something like below) and then call the variable when I name the switch.
set mac [exec "sh version | i Base"] (include the regular expression)
ios_config "hostname location$mac"
Thanks for any assistance in advance.
ChrisThis worked for me.
Switch_1(tcl)#set result [exec show ver | inc Base]
Base ethernet MAC Address : 00:1B:D4:F8:B1:80
Switch_1(tcl)#regexp {([0-9A-F:]{8}\r)} $result -> mac
1
Switch_1(tcl)#puts $mac
F8:B1:80
Switch_1(tcl)#ios_config "hostname location$mac"
%Warning! Hostname should contain at least one alphabet or '-' or '_' character
locationF8:B1:80(tcl)# -
How to search with regular expression
I make pdx files so that I can search text quickly. But Acrobat doesn't provide a way to search with regular expression. I'm wondering if there is a way that I don't know to search for regular expression in Acrobat Pro 9?
First, Acrobat must "mount" the PDX.
As "Find" does not use the cataloged index, use Shift+Ctrl+F to open the advanced search dialog.
It may be helpful to first enter Acrobat Preferences and for the Search category tick "Always use advanced search options".
Back to the Search dialog - use the drop down menu for "Look In" to pick "Select Index" then, if no PDXs show, click the Add button.
In the Open Index File dialog, browse to the location of the desired PDX and select it.
OK out and use "Return results containing" to pick a "Match ..." requirement or Boolean.
To become familiar with query syntax, for Acrobat, it is good to review Acrobat Help.
http://help.adobe.com/en_US/Acrobat/9.0/Professional/WS58a04a822e3e50102bd615109794195ff-7 c4b.w.html
Be well... -
Problem with Regular Expression
Hi There!!
I have a problem with regular expression. I want to validate that one word and second word are same. For that I have written a regex
Pattern p=Pattern.compile("([a-z][a-zA-Z]*)\\s\1");
Matcher m=p.matcher("nikhil nikhil");
boolean t=m.matches();
if (t)
System.out.println("There is a match");
else
System.out.println("There is no match");
The result I am getting is always "There is no match
Your timely help will be much appreciated.
RegardsRam wrote:
ErasP wrote:
You are missing a backward slash in the regex
Pattern p = Pattern.compile("([a-z][a-zA-Z]*)\\s\\1");
But this will fail in this case.
Matcher m = p.matcher("Nikhil Nikhil");It is the reason for that *[a-z]*.The OP had [a-z][a-zA-Z]* in his code, so presumably he know what that means and wants that String not to match. -
Get the string between li tags, with regular expression
I have a unordered list, and I want to store all the strings between the li tags (<li>.?</li>)in an array:
<ul>
<li>This is String One</li>
<li>This is String Two</li>
<li>This is String Three</li>
</ul>
This is what have so far:
<li>(.*?)</li>
but it is not correct, I only want the string without the li tags.
Thanks.No one?
Anoyone here experienced with Regular Expression? -
[CC] Search&Replace: Bug only with Regular Expressions
Can you confirm the following behaviour/bug?
Steps to reproduce:
1 Create a new document in DW CC
2 Enter that text in the source code view:
<p>€</p>
3 Open Search&Replace
Field Search in: Current document
Field Search: Text
Field Search (3rd Field): €
Start Search
Result: As expected the "€" is found.
4 [x] Regular Expressions
Start Search
Result: "€" isn't found
Can you reproduce that?
Do you regard that as a bug like me?
If not, why please?
Do you think it is technically impossible for the developers to solve the task?
Do you think the developers forgot to gray out "text" in the choice box and allow regular expressions only in source code?
Thanks.Nice that you like the nick
Sure, I know that I can file a feature wish.
But my main interest in this forum is to know, what other users think about certain features, why they think so, which they miss, which they regard as a bug, ...
When I remember it right, you told me some time ago, that you don't use RegEx.
Than I understand, that everything around that feature is not important for you.
What I like to understand is, why you think the behaviour is logically.
For me it is the opposite.
You get a result with "Scope: Text", "[ ]RegEx".
And you get no result with "Scope: Text", "[x]RegEx".
Incredible strange.
I would appreciate, if you could explain more detailed your view. -
Replace All with Regular Expression
Hi all,
I need a help to replace the String:
to
"<a href=\"1\"">Java Programming</a>"
I was trying to replace with
.replaceAll("\\[\\[*([^\\]]*?)*\\]\\]", "<a href=\"\"></a>")
but I don't know how to separate the parameters values.
Best regardsHi prometheuzz,
you are the one!!
But how I could do to a Srting like this:
Ah, more requirements...
Things are getting a bit messy now:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Main {
public static void main(String[] args) {
String line = "any text any text any text any text any text. "+
"Click - [[Code: 6 Title: Java Programming]]. "+
"any text any text any text any text any text. "+
"- [[C�digo: 2 T�tulo: Sun]] text text "+
"any text any text any text any text any text.";
String newLine = line;
String[] wikiTags = getWikiTags(newLine);
for(String tag : wikiTags) {
String newTag = "<a href=\""+get("(Code:|C�digo:)", " ", tag)+
"\">"+get("(Title:|T�tulo:)", "$", tag)+"</a>";
newLine = newLine.replaceFirst("\\[\\["+tag+"\\]\\]", newTag);
System.out.println(line);
System.out.println(newLine);
public static String[] getWikiTags(String text) {
java.util.List<String> list = new java.util.ArrayList<String>();
Pattern pattern = Pattern.compile("(?<=\\[\\[)(.*?)(?=\\]\\])");
Matcher matcher = pattern.matcher(text);
while(matcher.find()) {
list.add(matcher.group());
return list.toArray(new String[list.size()]);
public static String get(String start, String end, String text) {
Pattern pattern = Pattern.compile("(?<="+start+"\\s)(.*?)(?="+end+")");
Matcher matcher = pattern.matcher(text);
return matcher.find() ? matcher.group() : "#ERROR#";
}Details about regex:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
http://www.regular-expressions.info/java.html
http://java.sun.com/docs/books/tutorial/essential/regex/
>
Thanks a lot for you helpLike I said, it's a bit of a messy solution. See if you can use (a part of) it.
Good luck. -
Replace string with regular expression
I am new to the regular expression. I am just trying to remove double quotes from a string.
My sample string is sql statement(SELECT "SCHEMA"."TABLE1"."COLUMN1", "SCHEMA"."TABLE1"."COLUMN2" FROM "SCHEMA"."TABLE1", "SCHEMA"."TABLE2" WHERE "SCHEMA"."TABLE1"."COLUMN1" = "SCHEMA"."TABLE2"."COLUMN1" );
This is what I came up with.
String s = query.replaceAll("\\.\"", ".").replaceAll("\"\\.", ".").replaceAll("\\s\"", " ").replaceAll("\\s\"", " ").replaceAll("\",", ",").replaceAll("\"\\s", " ");
But I want to optimize this line.
Could anybody tell me how to call replaceAll once with using regular expression instead of calling replaceAll multiple times? Some table or column names can have double quotes, so I want to remove the double quotes without replacing the double quotes which is part of the table or column name.
I'd appreciated it.caesarkim1 wrote:
I am new to the regular expression. I am just trying to remove double quotes from a string.
My sample string is sql statement(SELECT "SCHEMA"."TABLE1"."COLUMN1", "SCHEMA"."TABLE1"."COLUMN2" FROM "SCHEMA"."TABLE1", "SCHEMA"."TABLE2" WHERE "SCHEMA"."TABLE1"."COLUMN1" = "SCHEMA"."TABLE2"."COLUMN1" );
This is what I came up with.
String s = query.replaceAll("\\.\"", ".").replaceAll("\"\\.", ".").replaceAll("\\s\"", " ").replaceAll("\\s\"", " ").replaceAll("\",", ",").replaceAll("\"\\s", " ");
...Note that the following two lines are equivalent:
s = s.replaceAll("a","").replaceAll("b","");
s = s.replaceAll("a|b",""); -
Find/Replace Using Regular Expressions
Can someone help me with this...I am using Regular expressions to
FIND:
http.*lid=([^&"]*)[^"]*
REPLACE:
$set(\1,ID_id,code)$
So that in the following it will change this:
a href="http://www.test.com/shc/s/home_10153_12605?lid=Search" rilt="Search"
To this:
a href="$set(Search,ID_id,code)$" rilt="Search
Those expressions work in Notepad++ but when i use dreamweaver it just replaces the http... with "$set(\1,ID_id,code)$" and doesnt reference the "search"
Any help?
ThanksLet me begin by saying I'm a complete idiot with DW's Reg Ex. I use Search Specific Tag whenever possible. See screenshot below.
Try this on your Current Document to see if it works. Then make a back-up copy of site before attempting it on Entire Local Site as you cannot "Undo" this process.
Good luck,
Nancy O. -
GUI Based tool for search and replace using regular expression
Hi,
I have developed this small tool which can be used for search and replace in multiple files using reqular expressions.
Features:
1. Full regular expression
2. GUI based with Highlighted results
3. Preview for replace available
4. Pure Java based.
5. Its like unix sed and grep
Please visit below site for download/more information :
http://sourceforge.net/projects/regexsearchrepl/
Thanks,
Hitesh ViseriaI agree with you, it cannot compete grep/sed/awk combination. I couldnt find anything even close to grep/sed for windows which will also have a preview and most important, free. That is what made me write this tool. I am trying to
improve its performance and more features like history etc.
Any suggestions on additional features are most welcome.
Maybe you are looking for
-
HP LaserJet 1536dnf MFP Printer Driver fails on install
I have tried installing this as a network printer, and as a local one. Neither install will do anything but fail. I don't have a previous issue of HP Universal Driver either, so that can't be it.
-
What are RAID sets????????????? I want to use them if they are what I think they are. Automatic synchronization of volumes??????????????????? Am I Correct??????????????????????? How do I begin?????????????? And is it possible for volumes from two dif
-
Report for what transactions a person has used
Hi Experts Is there any way to write our own report to show the trasnsaction code a person has used between dates or year so that we want to trace what transaction code are mostly used by the users . There are hundereds of transaction which will has
-
How to create a global property for all the reports in Oracle BIP
Hi, I am a new guy to Oracle BIP. I have a set of reports which is running perfectly. But now, I have to create a property something like this: If(bproperty) else I do not want to have a property for each of the reports but this should be a global on
-
Help with PL/SQL returning SQL query for Report
Hi I have got a report which I have formatted as PL/SQL function body returning SQL query. I have the following code declare q VARCHAR2(32000); -- query w VARCHAR2(4000) ; -- where clause begin q := 'select min(identified_date) first_identified,' ||