dirty Posted October 24, 2011 Share Posted October 24, 2011 i opened one of the cods found here which converts what ever script filename is into a string. for example if my script filename is "test.au3" then this variable will be "test" StringRegExpReplace(@ScriptName, "\.[^\.]*$", "") My question is: i almost want to say %&$#&^%$ is this ? but dont want to get in trouble so ill ask this: Whats all those "\.[^\.]*$" and what they mean and how they work ? All i know when it comes to directories, is that if you put ".\whatever" means it will go one directory UP like CMD, but this is like a whole language of characters i dont get. Link to comment Share on other sites More sharing options...
czardas Posted October 24, 2011 Share Posted October 24, 2011 (edited) The answer can be found by reading about StringRegExp.in the help file. Edited October 24, 2011 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
dirty Posted October 24, 2011 Author Share Posted October 24, 2011 so ure saying that "\.[^\.]*$" is something connected to a function and not just some weird characters that do something with the string ? Link to comment Share on other sites More sharing options...
guinness Posted October 24, 2011 Share Posted October 24, 2011 (edited) Did did you read the topic czardas suggested? Search google for topics about 'regular expressions', there it will give you a definition of what precisely a regular expression is, not a 'bunch of random characters thrown together without thought!' Edited October 24, 2011 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
czardas Posted October 24, 2011 Share Posted October 24, 2011 (edited) Yes, it says : Any string of characters other than backslash or dot appearing after a backsalsh or dot until the end of the line. I had to think about this a bit - now I think it says : Any string of characters other than a dot appearing after a dot until the end of the line. So for example:#include <Array.au3> $regexp = StringRegExp("path\..\app.exe", "\.[^\.]*$", 3) _ArrayDisplay($regexp) Edited October 24, 2011 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
dirty Posted October 24, 2011 Author Share Posted October 24, 2011 hmm interesting. thanks ! Link to comment Share on other sites More sharing options...
Robjong Posted October 25, 2011 Share Posted October 25, 2011 (edited) Hi, Those "weird characters" are a pattern to tell the regular expression engine how to modify the string, to strip the extension of a file name in this case. However the pattern is a little bit off, here is my take on it."\.[^.]+$"The pattern starts to match a dot (.), but since the dot is meta-character (modifier) in a regular expression it needs to be escaped, this is done with a backslash (\), so we get:\.The next part matches anything that is not a dot.Anything inside of square brackets is a character set and it will match any character in the set, but in this case the caret (^) tells the engine to match any charter NOT in the set.The plus (+) after the character set makes the engine match as many characters as possible, but only the ones in the character set and in a continuous stream.* Note that the dot (.) has not been escaped here, this is because inside the character set it is not a meta-character.[^.]+The dollar sign ($) represents the end of the string so the pattern will only be valid at the end of the string.$ So the pattern matches the last dot and the characters behind it until the end of the string. Here are some resources:http://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htmhttp://www.regular-expressions.info/https://developer.mozilla.org/en/Javascript/Guide/Regular_Expressionshttp://www.zytrax.com/tech/web/regex.htmhttp://www.php.net/manual/en/pcre.pattern.php Hope this helps clear it up a little. Edited October 25, 2011 by Robjong 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