Regular Expressions, split(), and the caret
I have a string delimited by the ^ character:
ITEM1^ITEM2^ITEM3
I've tried using:
split("^")
split("\^")
split("\x5E")
All to no avail. I either get "Invalid escape sequence" or I get the whole string. I'm looking to avoid the StringTokenizer way, just because this is neater IMHO.
Is this possible?
\ is the escape character for both Java and regex. The first escape character is for Java, so that the second \ will be treated as a literal in Java and passed as-is to the pattern matcher. The second \ is for the regex, so the pattern matcher will treat the ^ as a literal.
Similar Messages
-
The Regular Expression anchors, "^" and "$" do not work for me in Dreamweaver
I am using the Find and Replace feature of Dreamweaver 8 and especially the "Use Regular Expressions" setting. But I have never been able to make the Regular Expression anchors "^" and "$" work at all. This are supposed to fix a match at the beginning or ending of a line or input. But if I search even something as elementary as "^ ", or " $", it can't seem to find them.
Am I missing something? Can somebody give me an example of this working?
Any and all tips or clues would be appreciated.Welcome to Apple Discussions and Mac Computing
Definitely an E-bay issue. The coding on the page is not Safari-friendly. Firefox, as you discovered, in this instance is the better choice. -
Regular Expression Find and Replace with Wildcards
Hi!
For the world of me, I can't figure out the right way to do this.
I basically have a list of last names, first names. I want the last name to have a different css style than the first name.
So this is what I have now:
<b>AAGAARD, TODD, S.</b><br>
<b>AAMOT, KARI,</b> <br>
<b>AARON, MARJORIE, C. </b> <br>
and this is what I need to have:
<span class="LastName">AAGAARD</span> <span class="FirstName">, TODD, S. </span> <br />
<span class="LastName">AAMOT</span> <span class="FirstName">, KARI,</span> <br/>
<span class="LastName">AARON</span> <span class="FirstName">, MARJORIE, C.</span> <br/>
Any ideas?
Thanks!Make a backup first.
In the Find field use:
<b>(\w+),\s+([^<]+)<\/b>\s*<br>
In the Replace field use:
<span class="LastName">$1</span> <span classs="FirstName">$2</span><br />
Select Use regular expression. Light the blue touch paper, and click Replace All. -
How to form a regular expression for matching the xml tag?
hi i wanted to find the and match the xml tag for that i required to write the regex.
for exmple i have a string[] str={"<data>abc</data>"};
i want this string has to be splitted like this <data>, abc and </data>. so that i can read the splitted string value.
the above is for a small excercise but the tagname and value can be of combination of chars/digits/spl symbols like wise.
so please help me to write the regular expression for the above requirementyour suggestion is most appreciable if u can give the startup like how to do this. which parser is to be used and stuff like that
-
Regular expression - splitting a string
I have a long string that I'm trying to split into a series of substrings. I would like each of the substrings to start with "TTL.. I'm fairly certain that I'm missing something very basic here. I've attached my code which yield NO GROUPS. I didn't see another method for returning the text that the regular expression matched.
String finalLongstring="TTL1,clip1+TTL2+clip3,TTL4,clip4,TTL5,clip5+TTL6+"+
"clip6+TTL7+clip7,TTL8,clip8,TTL9,clip9,TTL10,clip10,TTL11,clip11,TTL12,clip12,"+
"TTL13,clip13+TTL14+clip14,TTL15,clip15,TTL16,clip16,TTL17,clip17,"+
"TTL18,clip18,TTL19,clip19,TTL20,clip20,TTL21,clip21,TTL22,clip22,"+
"TTL23,clip23,TTL24,clip24,TTL25,clip25,TTL26,clip26,TTL27,clip27,"+
"TTL28,clip28,TTL29,clip29"
List<String> chapters = new ArrayList<String>();
chapters.clear();
Pattern chapter=null;
chapter=Pattern.compile("(TTL\\d+([+,]|clip\\d+)*)");
// || | | | | | | |
// || | | | | | | Repeat (commas pluses and clips group) 0 or more times
// || | | | | | one or more digits following 'clip'
// || | | | | clip
// || | | | or..
// || | | plus or comma symbols
// || | group the +, and clip information together
// || one or more digits
// |Match clips starting with TTL
// |
Matcher cp = chapter.matcher(finalLongstring); //NO MATCHES!!
String [] temp = chapter.split(finalLongstring); //temp =EMPTY STRING ARRAY
do{
String chapterPlus=cp.group(1);
if(cp.hitEnd()){break;}
chapters.add(chapterPlus);
}while(true);Thanks in advance for the help.
IcesurferThe main reason your matcher didn't work is because you never told it to do anything. You have to call one of the methods matches(), find() or lookingAt(), and make sure it returns true, before you can use the group() methods. When I did that, your regex worked, but then I modified it to demonstrate a better use of capturing groups, as shown here: import java.util.regex.*;
public class Test
public static void main(String... args)
String str="TTL1,clip1+TTL2+clip3,TTL4,clip4,TTL5,clip5+TTL6+clip6+"+
"TTL7+clip7,TTL8,clip8,TTL9,clip9,TTL10,clip10,TTL11,clip11,TTL12,clip12,"+
"TTL13,clip13+TTL14+clip14,TTL15,clip15,TTL16,clip16,TTL17,clip17,"+
"TTL18,clip18,TTL19,clip19,TTL20,clip20,TTL21,clip21,TTL22,clip22,"+
"TTL23,clip23,TTL24,clip24,TTL25,clip25,TTL26,clip26,TTL27,clip27,"+
"TTL28,clip28,TTL29,clip29";
Pattern p = Pattern.compile("(TTL\\d+)[+,](clip\\d+)[+,]");
Matcher m = p.matcher(str);
while (m.find())
System.out.printf("%6s %s%n", m.group(1), m.group(2));
}The reason your split() attempt didn't work is because the regex matched all of the text; the split() regex is supposed to match the parts you don't want. In fact, it did split the text, creating a list of empty strings, but then it threw them all away, because split() discards trailing empty fields by default.
Finally, the hitEnd() method is not appropriate in this context. It and the requireEnd() method were added to support the Scanner class in JDK 1.5. If you want to see how they work, look at the source code for Scanner, but for now, just classify them as an advanced topic. When you're iterating through text with the find() method, you stop when find() returns false, plain and simple. -
Regular expression: Split String
Hi everybody,
I got to split a string when <b>'</b> occurs. But the string should <u>not</u> be splitted, when a <b>?</b> is leading the <b>'</b>. Means: Not split when <b>?'</b>
How has the regular expression to look like?
This does NOT work:
String constHOCHKOMMA = "[^?']'";
<u>Sample-String:</u>
String edi = "UNA'UNB'UNH?'xyz";
Result should be
UNA
UNB
UNH?'xyz
Thanks regards
MarioHi
I think u can meke it in two ways
1. using split function u r giving single quote as your delimiter, after each split funcction just add one more split function with delimiter as ?, if it returns true add the previous splited string and next one
2. you are gooing through each and every char of your string and split when next single quote occur, for this u are comparing each of your char with ['] i believe,
just compare the char with '?' if it match ignore next single quote.
Regards
Abhijith YS -
Regular Expressions - Logical AND
I know this isn't Java, and it's not really an algorithm, but I can't figure this out. I hope amongst this bright group of developers someone can help me.
I am searching for a regular expressions that will match a series of words.
Example:
Given the words: "ship book"
What regular expression could be used to find both the word "ship" and the "book"?
I have found one expression that will do it ... ship.*book|book.*ship
But that expression doesn't scale. Does anyone know of a better way?
Thanks,
BacManHi,
How about something like:
public class Regexp1
private static final Pattern all = Pattern.compile(
"^(\\s*\\b(monkey|turnip|ship|book)\\b\\s*)*$" );
private static final Pattern p = Pattern.compile(
"\\s*\\b(monkey|turnip|ship|book)\\b\\s*" );
public static void main( String[] argv )
find( "ship book turnip monkey" );
find( "monkey giraffe mango" );
find( "ship shipship ship" );
public static void find( String text )
System.out.println( "Text: " + text );
Matcher m = p.matcher( text );
System.out.println( "Matches all: " + all.matcher( text ).matches() );
while ( m.find() )
System.out.println( "Matching word: '" + m.group(1) + "'" );
}which will produce this when run:
Text: ship book turnip monkey
Matches all: true
Matching word: 'ship'
Matching word: 'book'
Matching word: 'turnip'
Matching word: 'monkey'
Text: monkey giraffe mango
Matches all: false
Matching word: 'monkey'
Text: ship shipship ship
Matches all: false
Matching word: 'ship'
Matching word: 'ship'Pattern all tests to see if all the words are present.
Pattern p finds each matching word and ignores others.
Ol. -
Regular Expressions, include and exclude xml-files
Hi!
I have a javaprogram that should read xml-files from a directory. The program could contain several types of files but it should only read files with a certain pattern.
The file names will look like this:
"resultset_27_23.xml"
where the numbers will change, but the rest of the file name is the same (resultset_XX_XX.xml).
But in the same directory it will also be files with the following pattern:
"resultset_27_23_attachment1.xml"
Here, the numbers could change in the in the same way as the files above, and the number after the text (attachment) could also differ from file to file.Those files should not be read by the program.
I have tried to write a regular expression pattern that only reads the first file types, and exlcudes the other ones, but it won�t work.
Does anyone have a solution to my problem? It is possible to use either just one pattern, or two patterns; one for the files that should be included, and one for the files that should be excluded.So you only want files that match resultset_XX_XX.xml? Will the numbers always be two digits each? Assuming so:
"^resultset_\\d\\d_\\d\\d.xml$"Depending which methods you use, the ^ and $ may or may not be necessary.
If that's not what you meant, please clarify. -
Regular Expressions find and replace
Hi ,
I have a question on using Regular Expressions in Java(java.util.regex).
Problem Description:
I have a string (say for example strHTML) which contains the whole HTML code of a webpage. I want to be able to search for all the image source tags and check whether they are absolute urls to the image source(for eg. <img src="www.google.com/images/logo.gif" >) or relative(for eg. <img src="../images/logo.gif" >).
If they are realtive urls to the image path, then I wish to replace them with their absolute urls throughout the webpage(in this case inside string strHTML).
I have to do it inside a servlet and hence have to use java.
I tried . This is the code. It doesn't match and replace and goes inside an infinite loop i.e probably the pattern matches everything.
//Change all images to actual http addresses FOR example change src="../images/logo.gif" to src="http://www.google.com/../images/logo.gif"
String ddurl="http://www.google.com/";
String strHTML=" < img src=\"../images/logo.gif\" alt=\"Google logo\">";
Pattern p = Pattern.compile ("(?i)src[\\s]*=[\\s]*[\"\']([./]*.*)[\"\']");
Matcher m = p.matcher (strHTML);
while(m.find())
m.replaceAll(ddurl+m.group(1));
what is wrong in this?
Thanks,
RajivRight, here's the full monte (whatever that means):import java.util.regex.*;
public class Test1
public static void main(String[] args)
String domain = "http://www.google.com/";
String strHTML =
" < img src=\"images/logo.gif\" alt=\"Google logo\">\n" +
" <img alt=\"Google logo\" src=images/logo.gif >\n" +
" <IMG SRC=\"/images/logo.gif\" alt=\"Google logo\">\n" +
" <img alt=\"Google logo\" src=../images/logo.gif>\n" +
" <img src=http://www.yahoo.com/images/logo.gif alt=\"Yahoo logo\">";
String regex =
"(<\\s*img.+?src\\s*=\\s*) # Capture preliminaries in $1. \n" +
"(?: # First look for URL in quotes. \n" +
" ([\"\']) # Capture open quote in $2. \n" +
" (?!http:) # If it isn't absolute... \n" +
" /?(.+?) # ...capture URL in $3 \n" +
" \\2 # Match the closing quote \n" +
" | # Look for non-quoted URL. \n" +
" (?!http:) # If it isn't absolute... \n" +
" /?([^\\s>]+) # ...capture URL in $4 \n" +
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.COMMENTS);
Matcher m = p.matcher(strHTML);
StringBuffer sbuf = new StringBuffer();
while (m.find())
String relURL = m.group(3) != null ? m.group(3) : m.group(4);
m.appendReplacement(sbuf, "$1\"" + domain + relURL + "\"");
m.appendTail(sbuf);
System.out.println(sbuf.toString());
}First off, observe that I'm using free-spacing (or "COMMENTS") mode to make the regex easier to read--all the whitespace and comments will be ignored by the Pattern compiler. I also used the CASE_INSENSITIVE flag instead of an embedded (?i), just to remove some clutter. By the way, your second (?i) was redundant; the first one would remain in effect until "turned off" with a (?-i). Another way to localize a flag's effect by using it within a non-capturing group, e.g., (?i:img).
As jaylogan said, the best way to filter out absolute URL's is by using a negative lookahead, and that's what I've done here. The problem of optional quotes I addressed by trying to match first with quotes, then without. The all-in-one approach might work with URL's, since they can't (AFAIK) contain whitespace anyway, but the alternation method can be used to match any attribute/value pair. It's also, I feel, easier to understand and maintain. Unfortunately, it also means that you can't use replaceAll(), since you have to determine which alternative matched before doing the replacement, but the long version is still pretty simple (especially when you can just copy it from the javadoc for the appendReplacement() method, as I did). -
Regular expression to abbreviate the names
Friends,
I have tables names like MY_TABLE_NAME, and I need to generate the abbreviations for the tables as MTN. Can any one help me to get using regular expression?
Thanks,
NatarajanSQL> select table_name, regexp_replace(initcap(table_name), '[[:lower:]]|_') new_tab_name from user_tables
TABLE_NAME NEW_TAB_NAME
UT_METADATA UM
V_DELIVERY_DC_DW VDDD
V_DBWE_DW VDD
PLAN_ZIP PZ
JOB_HISTORY JH
DEMO_USERS DU
DEMO_CUSTOMERS DC
DEMO_ORDERS DO
DEMO_PRODUCT_INFO DPI
DEMO_ORDER_ITEMS DOI
DEMO_STATES DS
DEMO_PAGE_HIERARCHY DPH
PLAN_TABLE PT
UT_LOOKUP_CATEGORIES ULC
MV_CORES MC
PRODUCTS_QUALITY PQ
V_BSTPOS_DW VBD
TRN_BR TB
GL_BR GB
V_FAKTUR_DW VFD
CHANGE_LOGS CL
V_FAKTUR_OLD_DW VFOD
T_EXT TE
TRANSFER_GLOBAL TG
ORDER_LINES OL
T_ERR TE
UT_SUITE_TEST_RESULTS USTR
UT_SUITE_RESULTS USR
UT_TEST_RESULTS UTR
UT_TEST_COVERAGE_STATS UTCS
UT_TEST_IMPL_RESULTS UTIR
UT_TEST_IMPL_ARG_RESULTS UTIAR
UT_TEST_IMPL_VAL_RESULTS UTIVR
UT_SUITE_TEST UST
UT_SUITE US
UT_LIB_DYN_QUERIES ULDQ
UT_LIB_VALIDATIONS ULV
UT_LIB_TEARDOWNS ULT
UT_LIB_STARTUPS ULS
UT_TEST_IMPL_ARGUMENTS UTIA
UT_VALIDATIONS UV
UT_TEST_IMPL UTI
UT_TEST_ARGUMENTS UTA
UT_TEST UT
UT_LOOKUP_VALUES ULV
UT_LOOKUP_DATATYPES ULD
ERR_DT ED
47 rows selected. -
Regular expression not giving the required output.
Hi , I have msgs that look like this :
dear john smith you Bought 500 shares of Nile Cotton Ginning at 14.9 L.E On 21/01/10
Im using the Regular expression to get 4 substrings of this msg
1-Bought|Sold
2-Quantity of shares (ex: 500)
3-Name of the stock (ex:Nile Cotton Ginning)
4-price (ex:14.9)
Here is my code , but the output returns the whole msg back :
select SMSID,SMSNO,CUSTOMERACCOUNTID,SENDDATE,ENTRYDATE,
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at (.*)','\1')),'(watheeqa)') buy_sell
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at (.*)','\2')),'(watheeqa)') amount ,
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at (.*)','\3')),'(watheeqa)') company ,
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at ([0-9]*\.[0-9]*|[0-9][^A-Z][^a-z]) .*','\4')),'(watheeqa)') price
from SMSOUTMSG@bimsic s
where trunc(SENDDATE) = trunc(sysdate) -1
and exists (select 1 from PHONEDETAIL@bimsic p
where s.CUSTOMERACCOUNTID = p.CUSTOMERACCOUNTID
and SMSFLAG = 1);Thanks.It does check it out
with t
as
select 'dear john smith you Bought 500 shares of Nile Cotton Ginning at 14.9 L.E On 21/01/10' smstext from dual
select
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at (.*)','\1')),'(watheeqa)') buy_sell,
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at (.*)','\2')),'(watheeqa)') amount ,
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at (.*)','\3')),'(watheeqa)') company ,
regexp_replace(trim(regexp_replace(SMSTEXT,'^.* you (Sold|Bought)(.*) of (.*) at ([0-9]*\.[0-9]*|[0-9][^A-Z][^a-z]) .*','\4')),'(watheeqa)') price
from t -
Regular expression: numbers and letters allowed
How can i determine best way following: input string may contain only numbers and letters, letters can be from any alphabet.
Examples:
'123aBc' - correct, only numbers and letters
'123 aBc' - wrong, contains space
'123,aBc' - wrong, contains comma
'öäüõ' - correct, contains letters from Estonian alphabet.
'abc' - correct, contains letters from english alphabet.
I think i should use function "regexp_like" for that, because LIKE-operator can't do such things, correct?
How i should write the regular expression then? I'm new to reg expressions.CharlesRoos wrote:
How can i determine best way following: input string may contain only numbers and letters, letters can be from any alphabet.
Examples:
'123aBc' - correct, only numbers and letters
'123 aBc' - wrong, contains space
'123,aBc' - wrong, contains comma
'öäüõ' - correct, contains letters from Estonian alphabet.
'abc' - correct, contains letters from english alphabet.
I think i should use function "regexp_like" for that, because LIKE-operator can't do such things, correct?
How i should write the regular expression then? I'm new to reg expressions.I'm not too hot on the foreign alphabets, but something like:
regexp_like(txt, '^[[:alpha:][:digit:]]*$')should do it I think. -
My wi-fi connection from my iPad via the Airport Express Base Station on my home computer worked just fine until yesterday morning. I have a Macintosh G5 with a satellite connection. I could not get an Internet connection. After using the Network Preferences and Aiport Express applications several times, then unplugging and replugging in the computer, satellite modem and Airport Express module, checking the satellite dish for any obstructions, and so on, the computer still wouldn't connect to the Internet. (The green light was on in the Airport Express module.) I called the satellite company technical support division last night. The tech couldn't find any problem with the satellite connection. When I plugged the satellite modem cord directly into the Ethernet outlet on my computer, I could pick up the Internet.
Today, the Airport Express module still has a green light but still doesn't connect to the Internet. The only thing I can think of is that lights went out for about 15 minutes yesterday morning. All of my electronics, except the Aiport Express Base Station, are on surge protectors. Why would the Airport Express module still have a green light if it was damaged by the electrical outage?
I bought the module in 2009. I have never had problems with Apple equipment before this. Is this base station fixable?
I would appreciate your suggestions.Hello everyone. I too have experienced the same problem Mary described starting on the same day she mentioned January 12. I have a G5 iMac, a G5 mini-mac, and a G4 laptop. They were all working fine but all have mostly the same problem now in that the G4 does not connect at all and the G5s connect once in a while after restarts but do not maintain the connection. In my case there was no power interruption. In fact, the G4 laptop was not even connected to the home power connection. My iPad2 and iPhone 4s wireless work fine and a wireless PC and Android tablet work fine as well. The G5 and G4 work fine on an ethernet connection. ISP tech support (AT&T u-Verse) was very generous with their time in trying to solve my problem although it was established early on that their connection and equipment was working fine and that the problem was with my computers. They walked me through a manual reset of all the particulars on IP addresses etc. so the problem was not related to that either. In the end ISP tech support concluded that the problem must lie with the Airport driver. For some reason it changes the IP addresses to an incorrect address so it cannot connect. Indeed when I tried the diagnostics on the G4 I got a window Pop-up that said an application had reset my settings. (In retrospect I seem to recall that I may have gotten that same message early on with the G5s but at that time I did not think much about it and went about trying to reset the settings but that process never concluded well) I think that the problem may be that there must have been an update of the Airport software that was not backward compatible with the G5 and older Macs. I mention all this for two reasons. First, perhaps someone out there who knows better than I do how to bring this to Apple's attention and perhaps they will address this. Second, I would be curious to know whether there is anyway one can return a configuration on Macs to some earlier time period (as you can on PCs) when everything worked and then leave it that way foregoing any subseqent upgrades or any subsequent apps?
-
Final Cut Express HD and the Macbook Pro
I just purchased a Macbook Pro along with final cut express HD. After purchase I read that FCE HD won't work with the macbook pro. I was hoping to see if anyone knew if they were coming out with an upgrade to the universal version like they are with Final Cut Pro.
Intel based macbook pro Mac OS X (10.4.4)That will not work. Ian's solution is for dual core G5s and PCIe based iMacs. It does not address Intel based machines like the 2006 iMac and the MacBook Pro. These machines will have to wait till the end of March for the release of new Universal Binary software to run on them. It's possible FCE3 will never run and will need to be upgraded to another version. If you recently purchased FCE HD to run it on this new computer, I'd suggest, if you can, to return it until the position on the new software becomes clear.
-
Regular expression: check for the presence of special characters.
I have the following requirement:
I need to check for the presence of the following characters in a keyword: @, #, > if any of these characters are present, then they need to be stripped off, before going further. Please let me know the regular expression to check for these characters.I am trying to extend the same logic for the following characters:
.,?!@#%^&*()-~<>[]{}\+=`©® . here is the code fragment:
Pattern kValidator = Pattern.compile("[\\.,\\\\?!@#%^&*()-~<>[]{}\\+=\\`©®]");
Matcher kMatcher = kValidator.matcher(keyWord);
if (kMatcher.find(0)) {
keyWord = keyWord.replaceAll("[.,\\\\?!@#%^&*()-~<>[]{}\\+=\\`©®]", " ");
}I get the following error. This error is from the weblogic command window. I dont understand these special characters.
Error:
28 Oct 2008 12:27:48 | INFO | SearchController | Exception while fetching search results in controller:Unclosed character class near index
39
[\.,\‘\“?!@#%^&*()-~<>[]{}\+=\`©®]
^
java.util.regex.PatternSyntaxException: Unclosed character class near index 39
[\.,\‘\“?!@#%^&*()-~<>[]{}\+=\`©®]
^
at java.util.regex.Pattern.error(Pattern.java:1650)
at java.util.regex.Pattern.clazz(Pattern.java:2199)
at java.util.regex.Pattern.sequence(Pattern.java:1727)
at java.util.regex.Pattern.expr(Pattern.java:1687)
at java.util.regex.Pattern.compile(Pattern.java:1397)
at java.util.regex.Pattern.<init>(Pattern.java:1124)
at java.util.regex.Pattern.compile(Pattern.java:817)
Maybe you are looking for
-
Mid-2010 unibody 15-inch macbook pro battery life
The battery on my son's mid-2010 15-inch unibody macbook pro has a cycle count of 360 and shows its condition is "normal." What is the normal battery life on this computer? The reason I'm asking is that the trackpad is malfunctioning and he was told
-
Any ideas on how to track a stolen or lost ipod
any body have any ideas how to find a stolen or lost ipod it's been gone for a couple of weeks and I am heart broken any ideas would help thanks
-
Websites do not display correctly
Websites do not display correctly
-
Hello All, first time posting here....hope someone can help! I have upgraded two versions of Itunes for my PC, the and I still cannot browse album artwork. I can see artwork for my playlists and main library, but when I click the far right button, I
-
Explain plan for MVIEW....
Hi All, please tell me how to invoke EXPLAIN PLAN for CREATE MATERIALIZED VIEW. while i am trying to get plan i am getting following error ORA-00900: invalid SQL statement Thanks in advance.