Matches regular expression in the collection

Hello

I need to do the following:
I have a long string with repeated similar data. I would like, by using a regular expression, to excerpts from all matches in a collection. Is there a way to perform this task?

I look through the owa_pattern package, but as far as I saw, I can extract only a single match. Here's an exact quote:
"" If the regular expression can match several strings that overlap, this function is the longest game."- http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/w_patt.htm

So what can I do if I want to get all the games?

Thank you in advance. Any help would be appreciated.

Best regards
beroetz

Maybe this will help:

SELECT REGEXP_SUBSTR ('{A1:5} {BB:10}{CC:5}', ' (<.*?>) |) () {. *?})', 1, LEVEL) token
OF THE DOUBLE
CONNECT REGEXP_INSTR ('{A1:5} {BB:10}{CC:5}', ' (<.*?>) |) () {. *?})', 1, LEVEL) > 0
ORDER BY CSA LEVEL;

If you want to eliminate the unwanted characters <> {} then use REGEXP_REPLACE in addition:

SELECT REGEXP_REPLACE (REGEXP_SUBSTR ('{A1:5} {BB:10}{CC:5}', ' (<.*?>) |)) () {. *?})', 1, LEVEL), "[<>{}]') token.
OF THE DOUBLE
CONNECT REGEXP_INSTR ('{A1:5} {BB:10}{CC:5}', ' (<.*?>) |) () {. *?})', 1, LEVEL) > 0
ORDER BY CSA LEVEL;

See you soon

Edited by: Nuerni the 17.10.2008 at 11:02

Tags: Database

Similar Questions

  • "Matches regular Expression" and "Model match" vi behaves differently

    Hello

    I need a simple matching chain and experimenting that found the "Regular Expression Match' and 'Correspondence model' vi behave a little differently. I guess that the entries of the regular expression on the two the same behavior. It's a difference that I discovered that the "|" character ("vertical" character, commonly used as an operator 'or') is recognized as such in the regex to Match vi, but not in the match vi model (where it is taken to the letter). Furthermore, I can't find any document using (online or in LabVIEW) on the ' | ' usage in regular expressions of character. Is - this documented anywhere?

    For example, suppose I want corresponding to one of the following 4 words: 'The' or 'fast' or 'brown' or 'fox '. The regular expression ' the | fast | Brown | Fox' (without the quotes) works for the vi Regular Expression Match but not the match pattern vi. Here is a photo of the block diagram and the results of the façade:

     

    The Help explains that the vi Regular Expression Match performs a little more slowly the match vi pattern, so I started with the latter. But since he does not work for me, I'll use the old. But does anyone have an idea of the speed difference? I guess that's negligible in a simple example.

    Thank you!

    Thank you, Jeff. That's what I was looking for. BUT my version of LabVIEW 8.5, does NOT say "functionfor example, the Match model does not support the parenthesis or vertical bars (|) characters.«» !

    See: http://zone.ni.com/reference/en-XX/help/371361D-01/glang/match_pattern/

    and http://zone.ni.com/reference/en-XX/help/371361D-01/glang/match_regular_expression/

    It is not mentioned in the help of special characters used for the match pattern : http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/specialcharformatchpatt/

    The only place | has 'talked', it is in the sentence: "some regular expressions that use alternating (such as (. |))". \s)*) require significant resources to deal with when it is applied to the large input strings. "But I'm not processing a large chain.

    It seems that NEITHER fixed this omission. What version is your help?

    Ed

  • Regular expression for the format: 000-000 - 000000 000000

    Hi guys,.

    I need to validate the columns in a regular expression for the format of 000 000 - 000000 000000.

    For example - if the column contains a value such as "500 110 - 500044 000100" then it should return 'true' otherwise 'false. '

    Your timely help is well appreciated.

    Thanks in advance.

    Hello

    inDiscover wrote:

    Hi guys,.

    I need to validate the columns in a regular expression for the format of 000 000 - 000000 000000.

    For example - if the column contains a value such as "500 110 - 500044 000100" then it should return 'true' otherwise 'false. '

    Your timely help is well appreciated.

    Thanks in advance.

    If you want a regular expression

    REGEXP_LIKE (str

    {{' ^ {\d{3} \d{3}-\d{6} \d{6}$'

    )

    According to your needs.

    You don't need regular expressions for this.  It will be more efficient to use

    TRANSLATE (str

    '012345678'

    '999999999'

    ) = 999 999 - 999999 999999'

  • Grouping and backreferences with regular expressions on the window to replace the text

    I'm really appreciate the inclusion of regular Expressions in the search and replace functionality. One thing miss me that East of backreferences in the replacement expression. For example, in unix tools vi or sed, I could do something like this:
     s/\(firstPart\) \(secondPart\) \(oldThirdPart\)/\2 \1 newThirdPart/g 
    that allow me to switch the places of first and secondPart and substitute totally thirdPart. If grouping and backreferences are already present in the window replace text, how do you properly call them?

    Published by: Justin.Warwick on August 23, 2011 08:26

    You can vote on the request for this to the exchange of SQL Developer, to add weight to the implementation as soon as possible: https://apex.oracle.com/pls/apex/f?p=43135:7:3693861354483465:NO:RP, 7:P7_ID:16761

    Kind regards
    K.

  • How to use a regular expression using the model concept and match for this scenario?

    Hi guys,.

    I have a string "we have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle.

    I need to replace the numbers based on the condition below.

    If more then 5, replace with many

    If less than 5 then replace by a few

    If it is 1, replace by "only one".

    Here is my code, I'm missing the part equates to replace the numbers could one of please help me solve you this.

    private static String REGEX = "(\\d+)"; "

    private public static String INPUT = "we have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle."

    String pattern = "(.*) (\\d+)(.*)";

    private static String REPLACE = "replace with many";

    Public Shared Sub main (String [] args) {}

    Create a model object

    Model r = Pattern.compile ("REGEX");

    Now create object match.

    Matcher m = r.matcher (INPUT);

    Change the value to 7 by the replacement string

    How to assimilate (\\d+) greater than a number and use the code below.

    ENTRY = m.replaceAll (REPLACE);

    Print the final result;

    System.out.println (Input);

    Thank you and best regards,

    Hello

    Try the following makes use of 'appendReplacement"instead with the methods 'start' and 'end' to locate and check the search string"regExp"before dynamically set the string"replace ":

    String regExp = "\\d+";
    String input = "We have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle";
    String replace;
    Pattern p = Pattern.compile(regExp);
    // get a matcher object
    Matcher m = p.matcher(input);
    StringBuffer sb = new StringBuffer();
    while (m.find()) {
       Integer x = Integer.valueOf(input.substring(m.start(), m.end()));
       replace = (x >= 5) ? "many" : (x == 1) ? "only one" : "few";
       m.appendReplacement(sb, replace);
    }
    m.appendTail(sb);
    System.out.println(sb.toString());
    

    HTH.

    Kind regards
    Rajen

    PS: Please mark as answer/useful if it solves your problem to the benefit of all members of the community.

  • regular expression for the xml tags

    Dear smart people of the labview world.

    I have a question about how to match the names of xml text elements.

    The image that I have some xml, for example:

    Peter

    13

    and I want to match all of the names of elements, that is to say: no, son, grandson, age, regardless of any attribute have these items. There is a regular expression, I can loop, that can do this? (Something like "\<.+\> ". "") It is no good because it matches the entire xml string.) I'd really only two different expressions, one for the match start elements, e.g. and one for the correspondence of the elements, for example.

    Thanks for your help in advance!

    Paul.

    The site Of regular Expressions will be very convenient.

    They have some good tutorials on regexp with a demo of the XML tags:

    Here is a small excerpt:

    The regular expression <\i\c*\s*>matches an opening of the XML without the attributes tag corresponds to a closing tag. <\i\c*(\s+\i\c*\s*=\s*("[^"]*"|'[^']*'))*\s*>corresponds to an opening with a number any attributes. Put all together, <(\i\c*(\s+\i\c*\s*=\s*("[^"]*"|'[^']*'))*| i\c*)\s*="">corresponds to an opening with attributes or a closing tag.  (source)

    If you want advanced XML analysis I suggest JKI XML toolkit.

    Tone

  • Help in regular Expression for the beaches of limitation

    Hi, I'm working on the provision of a text field is limited to dates, it's just a part of the code. I already have the validation of the dates, but I am now limiting what the user enters using a regular expression. This code works a little however, it does not limit me for example I can enter more than 2 digits, but then he limits based on the total amount allowable so for example 8 digits are allowed if I just type. I need to stop after 2 digits then have a - then 2 other numbers then one - and then followed by 4 digits. I tried to limit each section and grouping as well. Any help would be greatly appreciated. Thank you.

    It is in the format code and I am the appellant in the key sequence.

    function DateKS () {}

    var value = AFMergeChange (event);

    If (! event.willCommit) {}

    Allow only characters that match the regular expression

    Event.RC = /^([0]{0,1}[1-9]{0,1}|[_1]{0,1}[012]{0,1}) ([-] {0,1}) ([0] {0,1} [1-9] {0,1} |) [12] {0,1} [0-9] {0,1} | ([3] {0,1} [01] {0,1}) ([-] {0,1}) ([0-9] {0,4}) $/ .test (value);

    }

    }

    I decided that control for 100 and 400 was not necessary because this event does occur that all 400 years. But I'm working on it further and changed even more. Here is my code to work.

    function isLeapYear (year) {}
    year return % 4 = 0;
    }

    function checkDaysInMonth (day, month, year) {}
    daysInMonth var = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

    If (month = 2) {}
    If (isLeapYear (year)) {}
    daysInMonth [1] += 1;
    }
    }

    return daysInMonth [month - 1] > = day;
    }

    function checkDateFormat (dateStr) {}
    var errorMsg = ",
    maxYear = (new Date()) .getFullYear (),
    minYear = maxYear - 1,.
    match = dateStr.match(/^(\d{2})-(\d{2})-(\d{4})$/),
    months,
    day,
    year;

    If {(matches)
    month = parseInt (matches [1], 10);
    day = parseInt (matches [2], 10);
    year = parseInt (matches [3], 10);

    If (month < 1="" ||="" month=""> 12) {}
    errorMsg = "invalid value for the month: ' + matches [1];"
    } ElseIf (day = 0) {}
    errorMsg = "invalid value for the day:" + match [2];
    } else if (! checkDaysInMonth (day, month, year)) {}
    errorMsg = "number of days for invalid month: ' + match [2];"
    } ElseIf (year < minyear="" ||="" year=""> maxYear) {}
    errorMsg = "invalid value for the year:" + match [3] + "-must be between" + minYear + "and" + maxYear;
    }
    } else {}
    errorMsg = "invalid date format: ' + dateStr + ' \r\nPlease use format: dd-mm-yyyy ';"
    }

    return errorMsg;
    }

    function checkReceivedDate() {}
    var value = AFMergeChange (event),
    errorMsg = ";
       
    ignore control if the value is blank, because this field is not mandatory
    If (! value) {}
    return;
    }

    If {(event.willCommit)
    errorMsg = checkDateFormat (value);

    If (errorMsg) {}
    App.Alert (errorMsg, 0, 0, "error");
    Event.value = ";

    Returns false;
    }
    } else {}
    Allow only characters that match the regular expression
    Event.RC = /^(?:0) [1-9]? 1 [012]?) ? -? ( ? : 0 [1-9] ? | [12] [0-9]? 3 [01]?) ? - ? 2? 0? [0-9] {0,2} $/ .test (value);
    Event.RC = / ^ \d{0,2}-?\d{0,2}-?\d{0,4}$/.test(value);
    }

    Returns true;
    }

  • Using Regular Expressions in the Code of edge

    Hello.

    I am quite new to the Edge Code but find it quite interesting to use.

    The find/replace feature is pretty but I got a little confused on how to use regular expression matching.

    I tried to clean up the coordinates of a file Adobe Edge animate full of 120.17px (heavy and less accurate)

    So basically you're looking \d+\.\d+px

    First of all, she says "use /re/ for regex" even though I know the Code is made for developers who * courses * know that it took me a little time to understand I should just put my regex between slashes.

    /\d+\.\d+PX/

    then the time comes to replace them. ALT-cmd-F and it says "replace".

    Puzzled again.

    Will I type my full sentence there? Maybe a «...» "written up somewhere around would avoid this question because, there, of course, a second field to come.

    And there, I got stuck.

    I can not find how to get the replacement of the model.

    tried to \1 $1 \1/ $1 / nothing seems to work... any hint of welcome.

    Franck,

    You are right that it does not work. I open a topic. Here is the link if you want to follow: https://github.com/adobe/brackets/issues/1861

    FYI, I know exactly how you want to replace the search results, but here are a few tips:

    You must set the text that you want to retrieve by using parentheses. Thus, for example, if you want the integer part of the number of the result, then your regexp would be: / (\d+)\.\d+px/

    Then you must specify the first result using $1, so (when it's fixed), you can use something like: $1px

    Thank you

    Randy

  • Oracle regular expressions - splits the string into words for

    Hello

    Nice day!

    My requirement is to split the string into words.

    So I need to identify the new line character and the semicolon (;), comma and space like terminator for string entry.

    Please note that I am currently embedded blank and the comma as separator, as shown below.

    Select regexp_substr('test)
    TO
    string in words, "([^, [: blanc:]] +) (', 1, 1) double;"

    How to integrate the semicolons and line break characters in regular expression Oracle?

    Please notify.

    Thanks and greetings

    Sree

    This has nothing to do with REGEXP. Is SQL * more parser does not not a semicolon at the end of the line:

    SQL > select ' testto, mm\;
    ERROR:
    ORA-01756: city not properly finished chain

    SQL >

    Just break the chain:

    SQL > select regexp_substr ('testto, mm\;' |) '
    2 string into words
    3 \w+',1,level ',') of double
    4. connect by level<= regexp_count('testto,mm\;'="" ||="">
    5 string in words
    6      ','\w+')
    7.

    REGEXP_SUBSTR ('TESTTO, MM\;' |') STRINGIN
    --------------------------------------
    Testto
    mm
    string
    in
    Words

    SQL >

    Or modify SQL * more the character of endpoints:

    SQL > set sqlterm.
    SQL > select regexp_substr ('testto, mm\;)
    2 string into words
    3 \w+',1,level ',') of double
    4. connect by level<=>
    5 string in words
    6      ','\w+')
    7.

    REGEXP_SUBSTR ('TESTTO, MM\;) STRINGINTOWO
    --------------------------------------
    Testto
    mm
    string
    in
    Words

    SQL >

    SY.

  • regexp_substr: a regular expression for the separate comma operator of witn of string literals IN

    The following regular expression separates simple values separated by commas (SELECT regexp_substr (: pCsv,'[^,] +', 1, level) FROM DUAL CONNECT BY regexp_substr (: pCsv, ' [^,] +', 1, level) IS NOT NULL); Exampple: 300100033146068, 300100033146071, 300100033146079 returns 300100033146068 300100033146071 300100033146079

    This works very well if we use the regex with SQL IN operator select * from mytable where t.mycolumn IN (SELECT regexp_substr (: pCsv,'[^,] +', 1, level) FROM DUAL CONNECT BY regexp_substr (: pCsv, ' [^,] +', 1, level) IS NOT NULL);

    But this query does not work if the comma-separated value is a single literal string 'one', 'two', 'three '.

    Thanks for your reply. my request was mainly on regexp_substr.  Need to request was simple: any table with a column of varchar type can be used. Next time I'll give you an example.

    All ways working answer for my question is is SELECT regexp_substr (: pCsv,'[^, "] +', 1, level) FROM DUAL CONNECT BY regexp_substr (: pCsv, ' [^,"] +', 1, level) IS NOT NULL

  • Regular expression to the substring

    Hi people;

    I need to extract substrings dynamically an attribute A.
    A varchar2 attribute is set like this: "LXXXXX/111111 (+), (-), LXXXXXX/111111... LXXXXX/111111. Always the same series.

    I need to store all the "111111 (+)" "111111 (-)" "111111" the same file in a new attribute named B.

    In my view, regular expressions that could help me, but I'm not a very good...

    Thanks for your help. ^^
    select  regexp_replace('LXXXXX/111111(+),LXXXXX/111111(-),LXXXXXX/111111,etc...',',*LX+/') from dual
    /
    
    REGEXP_REPLACE('LXXXXX/111111(+
    -------------------------------
    111111(+)111111(-)111111,etc...
    
    SQL> 
    

    SY.

  • Regular expressions in the field of Validation does not.

    I really hope someone can help me.  I'm quite familiar with regular expressions, but for some reason, I can't it to work.

    Environment: Windows XP

    Adobe Acrobat version 8.12

    Scenario:

    In a text field of the form, the user enters a full path.

    This is the code that runs when the user leaves the field:

    / * Test alternatives

    var validChars = / ^ \w [:\\]$/
    var validChars = / ^ \w :\\$/

    var validChars = / ^ [A - Z] [a - z] [0-9] [:\\_]$/

    */


    var validChars = / ^ [A-Za-z0-9 :\\_]$/

    If (event.value! = "")
    {
    If ((event.value) validChars.test is false)
    {
    App.Alert ("Invalid character.  Only alphanumeric, colon, underscore, backslask and spaces are valid characters. ») ;
    Event.RC = false;
    }
    }

    The characters allowed in the path are: alphanumeric, underscore, colon, backslash (\), and space.

    I tried all the expressions above with c:\aoa_apps and they all fail: alert the invalid character appears.

    I've added alerts to print the event.value and that seems to be ok.

    I tried all of them with c:aoa_apps and they still fail.  Finally, I tried caoa_apps and they still aren't.

    I checked each of the expressions in a small validator of expression that I have and they seem to be ok.

    I'm cross-eyed looking for a reason why it's a failure.   So, apparently, that I do something stupid, again, I'm new to scripting Adobe Acrobat.  But for the life of me, I can't.

    Can anyone spot the problem?

    Any help is greatly appreciated.

    caerial.

    How you set up your regexp, only the first character is tested. Try

    place a * before the $.

  • Regular expressions in the APEX

    I am using the following regular expression ^ [\w\s]+?$, but it does not work in APEX.] I want to validate a field for not accepting anything but the line of underscores, spaces and alphabetic characters.

    Try to use POSIX character classes:

    ^[[:alpha:][:space:]_]+?$
    

    Note that you must always provide at least the following information when you ask a question:

    -APEX version
    -Edition and version DB
    -Web server architecture (EPG, SST or APEX listener)
    -The browsers used
    -Theme used
    -Models

  • regular expression - get the numbers from a string

    Hello world

    I'm trying to use regular expressions to get all the numbers in a string. The only problem is that the chain can vary.

    For example:

    It's my rope 3 and 8 I want 2 get out of those 7 numbers
    Random text 9 with 5 for everyone weekend 8

    How can I do?

    Thanks in advance :)

    Quote:
    Posted by: Scott Stroz

    #numbersOny #.

    Who will be only to crush all the numbers in a large number.

    The attached code will return a nice list of numbers.
    Though the numbers may contain commas or decimal points, the code can easily be adjusted

  • The match regular expression or pattern

    I'm in big trouble to the extraction of results of a string of serial port.
    I get a report through connectio series of some devices. It looks like this:

                                        Plane 1 Angle 1 Plane 2 Angle 2 In
    
         RotorID      rpm            [g·mm]    [°]    [g·mm]    [°]  Tol
                              1964.7     0.145999  201.6 0.151779  346.5 Y
                              2014.5     0.156608  197.6 0.139722  340.9 Y
             ealon ok     2012.1     0.143454  199.8 0.150243  344.6 Y
             ealon nok    2023.3    0.430547  217.7 0.833347  313.3 Y
             DN-3259824_001  2135.9 0.305822  246.2 0.296502  305.2 Y
             DN-3259824_002  2051.4 0.324227  241.1 0.327651  299.0 Y
             DN-3259824_020  2045.9 0.139268  150.2 0.281890   21.6 Y
    

    I can't separate the data with spaces, because sometimes there is no "RotorID" so that all data is moved to the left.
    There are still 7 columns. RotorID is sometimes empty sometimes that he composed characters and numbers. I never know its length. Other data are still present and separated with space.

    Can you help me please.

    If you want to use a regular exprission.

Maybe you are looking for

  • Reisntall ZN5 Linux-Java

    Hello My next Motozine ZN5 started with Chess: [1] texting (sms) receive again and again, are up to 10 times. [2] most of the phone calls does not. [3] mesaages text cannot be displayed using Motorola Phone Tool. When I install MPT, I could see MPT b

  • Cracking and buzzing of my audio beats

    My hp envy beats audio m6 tsmakes a cracking sound or noise metal EQ is implemented normal

  • The sound is missing and other weird behavior

    Original title: is not very computer savvy. Hello My computer seems ti have something wrong with it. He has lost all the sounds and really strange things. For example, it won't let me go in my account hotamil. It freezes and I have to shut down the c

  • Some sort of Bug, files corrupt, I don't know, but nothings working

    Basically, I can't run my antivirus software...  It gets about 80% and then stops.  Is like his still to go but goes no further after 30 minutes.  These scans are generally high for 15 minutes.  And it never seems to stop in the same place or the pat

  • can play us a movie in ms paint?

    CAN I PLAY MOVIE IN MS PAINT