Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You need to change two things to get all the members into a single capture. Firstly <code>.</code> does not match line breaks (and you can't change that in JavaScript). But <code>[\s\S]</code> does. And yes, using a negative lookahead, we can make sure that we don't consume the next <code>!Norm</code>:</p> <pre><code>/\s*!Norm:\s?(.+);\s+((?:(?![!]Norm)[\s\S])*)/g </code></pre> <p>I have wrapped the literal <code>!</code> in square brackets, to make clear that it's a literal and to set it off from the <code>!</code> that is part of the negative lookahead syntax. You could leave out the square brackets, it's just for readability. So basically this will fill the last capture with arbitrary characters, as long as they don't start a new <code>!Norm</code>.</p> <p>Then you can go ahead, and read individual properties and values from that last capture.</p> <p>explanation:</p> <pre><code>/ # start regex \s* # match optional whitespace !Norm: # match '!Norm:' \s? # match optional whitespace (.+); # capture group 1 - match all characters (whitout '\n') up to the next ';' \s+ # match 1..n whitespaces ( # start capture group 2 (?: # group (non-capture) (?! # negative lookahead [!]Norm # match '!Norm' ) # end negative lookahead [\s\S] # match a white space or other than white space character # this group match a single character as long as it dont start are new !Norm )* # group end; match this group 0..n times ) # end capture group 2 /g # end regex; set g-Flag for global </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload