wimhek Posted November 20, 2012 Posted November 20, 2012 I am havig troubles with regexp. I want to split html lines into an array. After some googeling i found an answer, here it is.$sString = "<td>aap</td><td>noot</td><td>mies</td>"$aReturn = StringRegExp($sString, '(?s)(?i)<td>(.*?)</td>', 3)_arraydisplay($aReturn)returns : aapnootmiesQuestion, now is $sString = "<td>aap</td><td class=e>noot</td><td>mies</td>"What must be the regexp rule to get the same result ?
Moderators Melba23 Posted November 20, 2012 Moderators Posted November 20, 2012 wimhek, Tell the RegEx that there may be other characters before the closing ">": (?s)(?i)<td.*?>(.*?)</td> That works for me on both your examples. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
wimhek Posted November 20, 2012 Author Posted November 20, 2012 Thank You, i did the .*? between () like this .
dany Posted November 20, 2012 Posted November 20, 2012 Thank You, i did the .*? between () like this . Well, that'll create an extra entry in the returned array from StringRegExp. If you need that then cool, otherwise just drop the group. Also, although Melba23's example is good and working,here's another variation: (?s)(?i)<td[^>]*>(.*?)</td> The character class will eat anything up until the first > it encounters. Melba's regexp works because the ? inverts the greediness of the * quantifier, thus stopping it at the first >. Without it it would basically eat the entire remaining string. [center]Spiderskank Spiderskank[/center]GetOpt Parse command line options UDF | AU3Text Program internationalization UDF | Identicon visual hash UDF
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now