SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Member
    Join Date
    Aug 2004
    Location
    Poland
    Posts
    17
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Why the regex doesn't catch "Extra" group?

    The regex:
    Code:
    # Region
    <tr>
    \s*<td\s+class="grey11">Region:</td>\s*
    <td\s+class="b11\s+b">(?<Region>.+?(?=</td>))</td>
    \s*
    </tr>
    \s*
    
    </table>
    \s*
    
    #Optional AD
    (
    <div\s+class="wid342\s+fl\s+padtop15">
    \s*
    <div\s+class="linkicon\s+listicon\s+lh16">
    \s*
    <a(?:[^>]*?)>
    (?:.+?)</a>\s*</div>\s*</div>
    ){0,1}
    
    </div>
    \s*
    
    (
    # Amenities
    <div\s+class="wid342\s+fl\s+mtop10(?:[^>]*?)>
    \s*
    <div\s+class="pad10">
    (?:.+?)
    <ul\s+class="chkbox">
    (?<Amenities>.+?)
    </ul>
    \s*
    </div>
    ){0,1}
    
    
    
    (?:.+?)
    
    #Extra
    (
    <div\s+class="b10\s+lh16\s+vpad10">
    \s*(?<Extra>.+?)\s*
    </div>
    ){0,1}


    The text to be processed:

    <tr>
    <td class="grey11">Drive</td>
    <td class="b11">Front</td>
    </tr>
    <tr>
    <td class="grey11">Transm</td>
    <td class="b11 b">Mech</td>
    </tr>
    <tr>
    <td class="grey11">Intr</td>
    <td class="b11">Leather</td>
    </tr>

    <tr>
    <td class="grey11">COND/td>
    <td class="b11">USED</td>
    </tr>
    <tr>
    <td class="grey11">Region/td>
    <td class="b11 b">QQQQQQQQQQQQQ</td>
    </tr>
    </table>
    </div>
    <div class="wid342 fl mtop10" style="background:#F5F5F5">
    <div class="pad10">
    <h4 class="darkred">What's inside</h4>
    <ul class="chkbox">
    <li class="par">
    <ul>
    <li>ABS</li>
    <li>Acs</li>
    <li>HUD</li>
    <li>Immo</li>
    </li>
    <li class="par">
    <ul>
    <li>Chairs</li>
    <li>Alarm</li>
    </ul>
    </li>
    </ul>
    </div>
    </div>
    <div class="wid342 fl oh">
    <p class="vmargin10">
    <h4>Extra info</h4>
    <div class="b10 lh16 vpad10">
    Good condition. Assembled in ---------
    </div>
    Why doesn't it return me "Good condition. Assembled in ---------" for "Extra" group? This group is actually optional; that's why I marked it with {0,1}. And if I remove {0,1} the regex returns me it's expected value but only in this particular case.

    What's wrong to my regex?

  2. #2
    SitePoint Wizard
    Join Date
    Mar 2001
    Posts
    3,537
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Construct an example with no more than 10 characters in the regex that demonstrates your problem, then repost.


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •