dany Posted November 19, 2012 Share Posted November 19, 2012 (?i)(sd{2}ed{2}) If there's only one range or character to repeat, in this case d, then you don't need grouping parentheses. [center]Spiderskank Spiderskank[/center]GetOpt Parse command line options UDF | AU3Text Program internationalization UDF | Identicon visual hash UDF Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted November 19, 2012 Moderators Share Posted November 19, 2012 Decipher,If all you want to match "S01E01" then you do not need a RegEx:#include <Array.au3> ; Just for display $sTest = "Alphas S02E02 Part 1" ; Split the name like this $aSplit = StringSplit($sTest, "S02E02", 1) _ArrayDisplay($aSplit) ; Now get your year by using the "name" element: MsgBox(0, "IMDB Call", $aSplit[1]) ; We will assume that the year is returned in this variable $sYear = "1999" ; And recreate it like this $sNewName = $aSplit[1] & $sYear & $aSplit[2] ; With this result MsgBox(0, "New Name", $sNewName)As I explained earlier. part of the art of SREs is knowing when not to use them. 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 Link to comment Share on other sites More sharing options...
Decipher Posted November 19, 2012 Author Share Posted November 19, 2012 The grouping was indeed the problem there. Thanks Spoiler Link to comment Share on other sites More sharing options...
Decipher Posted November 19, 2012 Author Share Posted November 19, 2012 Melba23, I must use a RegEx in this function. You're assumption is false. If I do not know what the season and episode number is inside the string that the operation is being used on. I have lots of files that will be renamed by these filters, hundreds and I will be obtaining more. ; Split the name like this $aSplit = StringSplit($sTest, "S02E02", 1) _ArrayDisplay($aSplit) Would the above not break if $sTest = "Alphas S01E03"? Spoiler Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted November 19, 2012 Moderators Share Posted November 19, 2012 Decipher, You're assumption is falseNo, you did not pose a clear question - you asked how to match "S02E02". try this: Global $aList[2] = ["Alphas S02E02 Part 1", "Alphas S01E03 Part 2"] For $i = 0 To 1 $sItem = $aList[$i] ; Now break up the item $sSE = StringRegExpReplace($sItem, "(?i).*(sddedd).*", "$1") $sBefore = StringRegExpReplace($sItem, "(.*)" & $sSE & ".*", "$1") $sAfter = StringRegExpReplace($sItem, ".*" & $sSE & "(.*)", "$1") ; Assume year is 1999 $sYear = "1999" $sNewName = $sBefore & $sYear & " " & $sSE & $sAfter MsgBox(0, "Result", $sBefore & @CRLF & $sSE & @CRLF & $sAfter & @CRLF & @CRLF & $sNewName) Next That should match all strings containing "S", 2 digits, "E", 2 digits. 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 Link to comment Share on other sites More sharing options...
Decipher Posted November 19, 2012 Author Share Posted November 19, 2012 Melba23, Thanks for all your help. Spoiler Link to comment Share on other sites More sharing options...
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