The regular expression problem
Dear friends,
In my script I have some sections that test the contents of an edit field before it is processed further.
Perfectly things like the following:
var re_Def = /#[A-Za-z][A-Za-z0-9_]+/; // valid variable name ? items = ["#correct", "notcorrect", "#This_is4", "#thisIs", "@something", "#ALLOK", "", ]; // search 0 -1 -1!! -1!! -1 -1!! -1 <--- incorrect method // test true false true true false true false <--- correct method for (var j = 0; j < items.length; j++) { var item = items[j]; alert ("'" + item + "' ==> " + item.search(re_Def) + "\n" + re_Def.test(item)); } var re_Def = /(\[ROW +\d+\]|\[COL +\d+\]|\[CELL +\d+, +\d+\]|Left *\(\d*\)|Right *\(\d*\)|Above *\(\d*\)|Below *\(\d*\))/; items = ["[ROW 17]", "[Row n]", "[ROW n]", "[CELL 3, 9]", "[CELL 3 9]", "Abbove()", "Right(3)"]; // result true false false true false false true for (var j = 0; j < items.length; j++) { alert ("'" + items[j] + "' ==> " + re_Def.test(items[j])); }
But what follows always returns false, independly of the content of the string element:
var re_Def = /{[EFJ]\d*}|{I}/; // valid format def? var item = "{E27}"; var result = re_Def.test(item); alert (result); // false !!
RegEx buddy told me, that
-l' REGULAR expression is correct
-the result must be true, not false
-The verbose definition of the RegEx is:
Match is the following regular expression (attempting the next alternative only if this one fails) "{\d* [EYF]}."
Match the character "{" literally "{}".
Match a single character present in the list "J" "[EYF]."
Match a single digit 0. 9 paper"\d*»
Between zero and unlimited times, as many times as possible, giving as needed (greedy) «*»
Match the character "}" literally "}".
Or match number 2 below (the entire match attempt fails if it cannot match) regular expression "{i}".
Match the characters "{i}" literally "{i}".
Typo unrecognized? Test the faulty method?
Results are fake, as soon as I use the list of characters []] - but look at the first block of code: there are also lists of character they are treated properly.
The braces in the regular expression must be escaped to be taken literally:
var re_Def = /\{[EFJ]\d*\}/;
Kind regards
JoH
Tags: Adobe FrameMaker
Similar Questions
-
Analyze the Mac address with the regular expression matching
Hello world
I have a problem with the function of regular expression matching,
I try to analyse the response both a query arp - a 192.168.0.15 to retrieve the MAC address of the remote IP address, I used the following regular expression: ^ ([0-9a-fA-F]{2}[:-]){5}([0-9a-fA-F]{2})$
I wonder why should I do a subset of the first string to extract only the part of the MAC address. The regular Expression function is not able to recognize the regular expression directly in the middle of a string?
I only works when I extracted the subset of tring right as in the picture below.
Thanks for your replies.
Get rid of the "^" at the beginning of your regular expression. You are ordering him to find the model at the beginning of the string.
-
The Regular Expressions and GUID.
Hello gurus, I hope you can help me!
I need to select GUID from a table and to do this, I need the regular Expression. My
Perl is not good and not good Regular Expression. My database is Oralce 11.2.0.2.0 and
Linux (Oracle Version 6) is the operating system of the Machine. If you need further information,
I'll look closely. Thank you. Jehangir.>
Hi Jehangir and welcome to the forums.
I need to select the GUID of a table and to do this,
Well, the first thing we do is read the forum FAQ and also the post by BluShadow
at the top of the messages on the home page of the forum. You should have provided code (DDL
and DML) showing your particular problem, but since it's your first time, I'll be gentle ;)We have it done - clients have sometimes GUID as PKs, and we need to send data to
their systems, but it is not as simple as it may first appear.GUID may arise in three formats.
The Oracle one - SELECT Sys_GUID() from DUAL which is just a string of 32 hexadecimal characters.
Then the chain with the hyphen, then the string with dashes and {} at the beginning and end (see
examples of data).with datax as ( SELECT '79A864CCD8E44CD8B0A2765DF9EF337B' as guid FROM DUAL UNION ALL SELECT '79A864CFD8E44CD7B0A2765DF9EF337B' FROM DUAL UNION ALL SELECT '8gdfsgsgfdg' FROM DUAL UNION ALL -- dummy for testing SELECT '21EC2020-3AEA-1069-A2DD-08002B30309D' FROM DUAL UNION ALL SELECT '21EC5550-3AEA-1069-A2FF-08002B30309D' FROM DUAL UNION All SELECT '{21CC2020-3AFA-1A69-A2DD-08002B30309D}' FROM DUAL ) -- first one is the Oracle format select * from datax where regexp_like(guid, '[0-9a-fA-F]{32}'); -- Oracle select sys_guid(); -- second one is with hyphens select * from datax where regexp_like(guid, '[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}'); -- third one is with hyphens and curly brackets. select * from datax where regexp_like(guid, '^\{[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}\}$'); -- This converts both of the last two formats back into Oracle format, which is what -- we use. Notice, that I haven't used regualar expressions to do this. Regexes are -- computationally expensive, and you should use Oracle's string furnctions if possible SELECT REPLACE(REPLACE(REPLACE(GUID, '{', ''), '}', ''), '-', '') FROM Datax;
HTH,
Paul...
Jehangir.
-
Is the function of the regular Expression
Hi guys, using this model, I got this error:
-4600 error has occurred during the regular expression match.
I have attached the VI.
can you help me? Thank you
inuyasha84 wrote:
Hi well I want to save (create) a file and do a check to see if the new file that I want to create already exists or not. If the idea was to see if the path of the new file is equal to the old path
Why not just use 'check if the file or folder exists? (E/s files-> Adv file functions)
Cameron
-
How can I refer to a variable in the regular expression
Hello friends,
I have this Regexp, extract the County code: (971)
Select regexp_replace (regexp_replace ('05-000971 7910-324324', '\D'),'^ 0 * (971)? 0?') of double;
It is very good and the need...
But, thinking about the future, someone may need to remove the country code (961), so it is better if I put the code in a variable, but
How can I list the County code via a variable since the Regexp:
but it does not work?declare a varchar2 (15); code number := 971; begin select regexp_replace(regexp_replace('000971 05 7910 - 324324','\D'),'^0*(code)?0?') into a from dual; dbms_output.put_line ( a); end;
Best regards
FatehYou must link the value of the variable code in the regular expression pattern
select regexp_replace(regexp_replace('000971 05 7910 - 324324','\D'),'^0*('||code||')?0?') into a from dual
-
Sense of the regular expression in detail
Hi all
I don't know if this question is to type correct forum but my question is
What is retail mean more regex? Please help me understand this character by character.
Expression is ^ [(\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.) + [A - Z] {2,4} $]
Thank yousabre150 wrote:
In general terms, that the regular expression is a poor attempt to check email address syntax. Very bad because it does not cover the complete specification.Yes. And after that: If your application looks at the e-mail address (valid) of someone and told them that this is not an email address valid, they will think you are a fool. And if your application is used for commercial purposes, which would be a black mark against your company. You're better not to validate e-mail addresses to all that the implementation of a solution with false negatives.
-
Form validation helps with the regular Expression [a-zA-Z]
I'm trying to use the regular expression [a-zA-Z] to allow only upper or lowercase WITHOUT SPACES. With the help of [a-zA-Z] allows space and numbers.
Could someone give me a point in the right direction?
Thank you!
RGNelson wrote:
I'm trying to use the regular expression [a-zA-Z] to allow only upper or lowercase WITHOUT SPACES. With the help of [a-zA-Z] allows space and numbers.
Could someone give me a point in the right direction?
Please try with the following regular expression, which should work for text entry fields 'a line' well standard.
^ [A-Za-z] + $
See you soon,.
Günter
-
The regular expression Dilimit
How can I delimit the regular expression with the number sign (#) and then use an apostrophe in the expression.
Can someone give some explamples.
As regular expressions are placed in quotation marks, and I have an apostrophe in a string also how would I be able to specify the regular expression with a sign by dilimiting #.
Thank you
Published by: LostWorld Sep 15, 2010 05:40Hello
Not sure I understand the question you are faced with, but I think using q citing might help:
SQL> with t as ( 2 select 'abcd ''1234''' str from dual) 3 -- end of sample data 4 select str, regexp_substr(str, q'#'1234'#') str from t; STR STR ----------- ----------- abcd '1234' '1234'
The symbol # now includes the string in the example above.
You can view the documentation for more information in the link below:
http://download.Oracle.com/docs/CD/E11882_01/server.112/e17118/sql_elements003.htm -
I know by logic box to get the output using the regular expression?
Hello
I am now only study the notion of Regexp. I had seen the best of Mr. Blus. Can I know how it works. I need this logic of the functionality of wildcards in sting matching Regexp (wildcard string Matching).
Please help me in this matter.SQL> ed Wrote file afiedt.buf 1 WITH test_data AS ( 2 SELECT 'c:\temp\folderA\fileA.txt' t FROM DUAL UNION ALL 3 SELECT 'c:\temp\fileA.txt' t FROM DUAL UNION ALL 4 SELECT '\\mymachine\A\fileB.txt' t FROM DUAL UNION ALL 5 SELECT '\\mymachine\A\B\fileB.txt' t FROM DUAL UNION ALL 6 SELECT '\\mymachine\A\B\C\image.jpg' t FROM DUAL UNION ALL 7 SELECT '\\mymachine\A\B\C\D\music.mpg' t FROM DUAL UNION ALL 8 SELECT 'c:\myfolder\folderD\folderE\4969-A.txt' t FROM DUAL 9 ) 10 select regexp_replace(t, '^.*[\]([^\]*)[\][^\]*$','\1') 11* from test_data SQL> / REGEXP_REPLACE(T,'^.*[\]([^\]*)[\][^\]*$','\1') ------------------------------------------------------------------ folderA temp A B C D folderE 7 rows selected. SQL>
IqbalSabrina wrote:
One last question what is the average ofThe final "\1" in
select regexp_replace(t, '^.*[\]([^\]*)[\][^\]*$','\1')
Iqbal
It is a reference.
See here:
http://download.Oracle.com/docs/CD/B19306_01/AppDev.102/b14251/adfns_regexp.htm#CHDHCIGHand in the middle of the table here:
http://download.Oracle.com/docs/CD/B19306_01/AppDev.102/b14251/adfns_regexp.htm#CHDIEGEIMatches the nth previous subexpression, in other words, either grouped in parentheses, where n is an integer between 1 and 9. The parentheses cause > an expression be remembered; a backreference refers to him. A backreference account subexpressions from left to right, starting with the opening > bracket of each subexpression preceding. The expression is not valid if the source string contains less than n subexpressions preceding the \n.
Oracle supports the expression of backreference in the regular expression pattern and the replacement of the REGEXP_REPLACE function string.
The expression (abc: def) matches the strings abcxyabc and defxydef xy\1, but does not abcxydef or abcxy.A backreference allows you to search for a string repeated without knowing the actual string advance. For example, the expression ^(.*) \1$ > matches a line consisting of two adjacent instances of the same string.
As explained in table 4-2, backreferences store sub-expressions matched in a temporary buffer, which allows to reposition the characters. You access the pads with the notation \n, where \n is a number between 1 and 9. Each subexpression brackets and is numbered from left to right.
-
the simple regular expression problem
Hello
I need assistance with regular expressions. I have a situation when I need to get data from one table to the other and I think that my problem can be solved using REG EXP, but I don't know how to use them properly.
I need to separate fileld varchar2 which is basically number/number in 2 separate number fields
I need to get the code in the co and po columns. I think the result should look something like this, but:CREATE TABLE tst (CODE VARCHAR2(10)); INSERT INTO tst VALUES('10/15'); INSERT INTO tst VALUES('13/12'); INSERT INTO tst VALUES('30'); INSERT INTO tst VALUES('15'); CREATE TABLE tst2 (po NUMBER, co NUMBER);
Any help appreciatedINSERT INTO tst2 SELECT regexp_substr(CODE 'something here to get the number before /') AS po, regexpr_substr(CODE 'something here to get number after') AS co FROM tst;
Agree with the above,
However, if you really want to know how to do with regular expressions you can do it like this...
SQL> select regexp_substr('10/15','[^/]+',1,1) from dual; RE -- 10 SQL> select regexp_substr('10/15','[^/]+',1,2) from dual; RE -- 15
-
problem of the regular expression?
Hi I have a file that contains the following text
< cfset objNews.strNewsTickerLink = "index.cfm? pageid = 83" >
Now what I want to do is to scrape the value of this variable for example "index.cfm? pageid = 83. Now, this variable can be different... so basically regardless of the value of the variable objNews.strNewsTickerLink is on... I want to get it out. Now, I'm not that great with regular expressions... can someone help me?
THXThank you... but I found a even better who does the work for me
-
Hi @ all,
I need a regular expression more difficult, I don't know Don t.
I have a big file with many pages .htm (800-1000) and I have to do the following:
http://www.domain.de/ AB % 32-xyz? myshop = 123
I have to delete the "ab % 32-xyz", the problem is, that it is, it could be each symbol, the letter or digit.
Then the area between " " http://www.domain.de/ ' 'and'? myshop = 123 "(these 2 areas are identical in all documents each time) should be removed.
Anyone could tell me how to do this with regular expressions in dreamweaver?
Thank you
Felix
P.S.: Sorry, my English is not so good, I m from the Germany
You want to replace the random text with anything?
If this is not the case, this is how you do in DW:
- Make a backup of the folder that you want to change, just in case something goes wrong
- Edition > search and replace
- In the find and Replace dialog box, select the folder in the menu drop-down "search in" and select the folder that you want to use.
- Select the Source Code from the drop-down search menu.
- Place the following code in the search text box:
(http://www \.domain\.de/) [^?] +(\? MYshop = 123) - Place the following code in the text box replace:
$1$ 2 - In Options, select the checkbox "use regular expression.
- Click on replace all. Dreamweaver warns you that the operation cannot be undone in pages that are not currently open. As long as you have made a backup, click OK to run the operation.
-
The clob data analysis - helps in the regular Expression
Hello
Need to analyze a clob and and get its value.
with the temp as
(select '-dn=cn=9245fe4a-d402-451c-b9ed-9c1a04247482,ou=people,dc=idauth-userstore,dc=standardlife,dc=com' as double val)
Select * Temp;
"Analysis to include only the characters after ' dn = cn =" and ending with a comma, so I need to value the O/P as feadcbedca
How to achieve this using regular expressions.
Also is it a useful site to learn Oracle regular expressions for beginners like me.
If yes give me the link, it will be useful.
Thanks in advance
SQL> with temp 2 as 3 ( 4 select '- dn=cn=9245fe4a-d402-451c-b9ed-9c1a04247482,ou=people,dc=idauth-userstore,dc=standardlife,dc=com' as val from dual 5 ) 6 select regexp_replace(ltrim(regexp_substr(val, 'dn=cn=[^,]+'), 'dn=cn='), '[^[:alpha:]]') val 7 from temp; VAL ---------- feadcbedca SQL>
-
How get us a word in the regular expression
Hi all
I am new to regular expressions, I did some tests in Google, but not clearly how to reach the scenario below
SELECT * FROM Icehead tih, head fh WHERE tih.head_id = fh.head_id AND UPPER (tih.head) LIKE UPPER ('%WANT%')
The query above, we check a keyword like "WANT."
-Along with the 'FAULT', we must move to another keyword like 'SHELL '.
-Have you used or condition operator to above query as shown below
SELECT * FROM Icehead tih, head fh WHERE tih.head_id = fh.head_id and UPPER (tih.head) LIKE UPPER ('%WANTS%') or UPPER (tih.head) LIKE UPPER ('%SHELL%')
-Instead of use 'or' want to use the regular operator, in the future if any other keyword want to use, then we can send this word using dynamically in the process, could help me on this.
Kind regards
Sruthitamiri
Sruthi Tamiri wrote:
Thanks for your suggestion, I have % in a regular expression, sorry for the same.
One last point after patten 'i' used what I indicate here, can you explain even.
It is a match parameter to specify the corresponding case. Please see the documentation for the basic questions like this.
-
The regular expression.
Hello all, I need to learn the normal Oracle database expression. Peut
anyones tell me where to find information - good sites that give the secrets ;)
I already look but like some tips. LydieJames wrote:
Hello all, I need to learn the normal Oracle database expression. Peut
anyones tell me where to find information - good sites that give the secrets ;)
I already look but like some tips. LydieHey James,.
I've been watching this recently myself and I have a little
my favorite sites. Appreciate the subtleties of the Regex - with any
luck, you won't even have to learn any PL/SQL ;)Good introdution http://www.zytrax.com/tech/web/regex.htm Simple summary of Oracle's regular expressions http://www.regular-expressions.info/oracle.html Not forgetting the Wiki (contains table with vi equivalents - for those of us who use a real editor ;) http://en.wikipedia.org/wiki/Regular_expression This site should be one of your main ports of call for any Oracle issues. Good forums also - better software than Oracle themselves. http://www.orafaq.com/node/2404 Morgan's Library - used to be psoug.org - don't know what happened - anyone? Daniel posts here from time to time http://www.morganslibrary.org/reference/regexp.html And,not forgetting the Oracle docco. http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm http://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_re.htm Also look on OTN for a .pdf for introduction.
HTH,
Paul...
Maybe you are looking for
-
Want 4520: Hp Envy 4520 does not connect to the network
4520 nine will recognize my home network and I put the password correctly, but it does not connect. Went all out and under tension, but without success. Never had such a problem with other devices. I printed a diagnostic of the printer which suggest
-
What Satellite P100 series includes P100-106?
I have toshiba satellite p100-106. At the back of the machine, my model is PSPADE - G 018010, 3. When I want to check the version of the bios, some other software or drivers writes article p100-106: what is your PSPA0E, PSPA3E, PSPA6E model. But ther
-
Problem with Internet Explorer and Windows Update on a Windows XP new install
I just do a fresh install of Windows XP home. When I went to Internet Explorer (version 6), the program open, but then soon a Microsoft error message said that there was a problem and had to stop. I also found that Windows Update when activated is
-
I have a user limited access to work where the right-click and access more common is forbidden by the administrator of the computer. Can I show the Quick Launch toolbar without using the right click on the bar of tasks and without the help of the con
-
Sysax Multi Server cannot be started
Hello When the server is started, the message "the Sysax multi Server does not start. In Control Panel, I had selected the default ports and had chosen the FTP server. Sometimes the message "server is running" appears, but when I go to the HTTPS serv