Sign in to follow this  
Followers 0
PhoenixXL

StringRegExp General Help

183 posts in this topic

#1 ·  Posted (edited)

Hello Everyone

This topic is only created to receive and supply help about regular expressions

Anybody having any problems with regular expressions please post here

I expect to Learn Regular Expression by sharing it with the Forum Members

My first Problem

i.e Im getting the quotes though it is in the non-capturing group

What i want is to get the text inside the quotes[excluding the quotes]

#include <Array.au3>
Func RegEx($nString)
Local $nPattern = "(?:['"& '"])' & "[^'"& '"]*?' & '(?:["' & "'])"

ConsoleWrite($nPattern & @CR)

Local $nRegEx = StringRegExp($nString, $nPattern, 3)
If @error Then Exit @extended
_ArrayDisplay($nRegEx)
EndFunc ;==>ReplaceScores

RegEx('"Hello there" Dont include me coz im not in quotes')

Examples

Begginer

Example : Get the Double Quoted Words

#include <Array.au3>

;Get the Double Quoted Words
; Got help from Varian

Func RegEx($nString)
;double single quotes inside single-quotes are treated as single
Local $nPattern = '"([^"]*?)"'

ConsoleWrite($nPattern & @CR)

Local $nRegEx = StringRegExp($nString, $nPattern, 3)
If @error Then Exit @extended
_ArrayDisplay($nRegEx)

EndFunc ;==>RegEx

RegEx('"Hello there" Dont include me coz im not in quotes')

Example : Delete every single vowel in a word

; ===============================================================================================================================

;Link - http://www.autoitscript.com/forum/topic/145487-stringregexp-general-help/page__st__40#entry1040636

; Aim....: To delete every single vowel in a word
; - Exception : if the first and last alphabets are vowel ignore them


Local $sString = 'rejuvenation'

Local $sPattern = '(?i)([^aeiou])' & _ ; (First Group) Match the starting of the Word with a Non-Vowel.
'([aeiou])([^aeiou])' ; (Second group) Matching the Vowel and the following single Non-Vowel.

Local $aRegEx = ''

;Set Extended for the Initiation
SetExtended(1)
While @extended
$aRegEx = StringRegExpReplace($sString, $sPattern, '\1\3', 1)
;Assign the New String
$sString = $aRegEx
WEnd

MsgBox ( 64, 'Return', $aRegEx )

; ===============================================================================================================================

Example : Replace the Line Number with any User Defined Number

;Link - http://www.autoitscript.com/forum/topic/145487-stringregexp-general-help/#entry1028168

;Replace the Line Number with any User Defined Number( 65 as an example)
Local $sString = 'Line 10764 (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "(w+) [0-9]+", "$1 65")

MsgBox(4096, "Title", $sRet)

;This Wont work
;Since $165 is used there is no 165 replacement (maximum 10 back-reference )
Local $sString = 'Line 10764 (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "(w+ )[0-9]+", "$165")

MsgBox(4096, "Title", $sRet)

; ===============================================================================================================================

Intermediate

Example : Made some String Functions using RegEx

; ===============================================================================================================================

;Link - http://www.autoitscript.com/forum/topic/145487-stringregexp-general-help/page__st__20#entry1039319

#include-once
#include <Array.au3>

#cs
trying to make some string functions
using Regular Expressions
will add some more soon
#ce

; #CURRENT# =====================================================================================================================
; RegEx_StringLeft
; RegEx_StringLen
; RegEx_StringLower
; RegEx_StringMid
; RegEx_StringRepeat
; RegEx_StringReplace
; RegEx_StringReverse
; RegEx_StringRight
; RegEx_StringTrimLeft
; RegEx_StringTrimRight
; RegEx_StringUpper
; ===============================================================================================================================

; #INTERNAL_USE_ONLY# ===========================================================================================================
; CheckPattern
; ===============================================================================================================================


; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringReplace
; Description ...: Similar to StringReplace
; Syntax ........: RegEx_StringReplace($sString, $sSearch, $sReplace[, $iInSensitive = 1[, $iOccurrence = 0[, $iContinue = False[,
; $iRegEx = False]]]])
; Parameters ....: $sString - A string value.
; $sSearch - A string value.
; $sReplace - A string value.
; $iInSensitive[1] - [optional] An integer value.
; $iOccurrence[0] - [optional] An integer value.
; $iContinue[False] - [optional] Will Replace Continuously till the Occurrence[inclusive]
; $iRegEx[False] - [optional] Signifies that the Search and Replace terms are Regular Expressions
; Return values .: Returns the String with @extended set to the number of replacements
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......: Havent added any Error Check
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringReplace($sString, $sSearch, $sReplace, $iInSensitive = 1, $iOccurrence = 0, $iContinue = False, $iRegEx = False)
Local $iReverse = False
;Insensitiveness
If $iInSensitive Then
$iInSensitive = '(?i)'
Else
$iInSensitive = ''
EndIf
If $iOccurrence < 0 Then
;Check for Negative occurance
$iReverse = True
$iOccurrence *= -1
$sString = RegEx_StringReverse($sString)
EndIf
;Check for special characters
If Not $iRegEx Then
CheckPattern( $sSearch )
If ($iOccurrence - 1) And Not $iContinue Then
$sSearch = '(?s)' & $sSearch & '((.*?)(\1)){' & $iOccurrence - 1 & '}'
$sReplace = '\1\3' & $sReplace
EndIf
EndIf
;main function
Local $aRet = StringRegExpReplace($sString, $iInSensitive & $sSearch , $sReplace, $iOccurrence)
Local $iExt = @extended
If Not $iContinue Then $iExt = 1
If $iReverse Then $aRet = RegEx_StringReverse($sString)
Return SetExtended($iExt, $aRet)
EndFunc ;==>RegEx_StringReplace

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringMid
; Description ...: Extract a number of characters from the string
; Syntax ........: RegEx_StringMid($sString[, $iStart = 0[, $iEnd = 0]])
; Parameters ....: $sString - A string value.
; $iStart - [optional] An integer value. Default is 0.
; $iEnd - [optional] An integer value. Default is 0.
; Return values .: Failure - Sets @error to non-zero and returns the whole string
; Success - Returns the new stirng
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringMid($sString, $iStart = 0, $iEnd = 0) ;First Char = 0
;If Start and End are 0 then Return the whole string
If Not BitOR($iStart, $iEnd) Then Return $sString
;If Out of Bounds then Return
If $iStart + $iEnd > RegEx_StringLen($sString) Then Return SetError(1, 0, $sString)
If $iStart > RegEx_StringLen($sString) Then Return SetError(2, 0, $sString)
If $iEnd < 0 Then Return SetError(3, 0, $sString)
If $iStart < 0 Then Return SetError(4, 0, $sString)
;Carry Out the Main Function
If $iStart Then $sString = StringRegExpReplace($sString, '(?s)(.{' & $iStart & '})', '', 1)
If $iEnd Then $sString = StringRegExpReplace($sString, '(?s)(.{' & $iEnd & '})(.*)', '\1', 1)
Return $sString
EndFunc ;==>RegEx_StringMid


; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringReverse
; Description ...: Reverses the String
; Syntax ........: RegEx_StringReverse($sString[, $iStart = 0[, $iEnd = 0]])
; Parameters ....: $sString - A string value.
; $iStart - [optional] An integer value. Default is 0.
; $iEnd - [optional] An integer value. Default is 0.
; Return values .: Returns the reversed string
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringReverse($sString, $iStart = 0, $iEnd = 0)
Local $sStart = '', $sEnd = ''
;Get the Start which would not be reversed
If $iStart > 0 Then $sStart = RegEx_StringMid($sString, 0, $iStart)
;Get the Start which would not be reversed
If $iStart + $iEnd < RegEx_StringLen($sString) Then $sEnd = RegEx_StringMid($sString, RegEx_StringLen($sString) - ($iStart + $iEnd))
;The Original String which has to be reversed
$sString = RegEx_StringMid($sString, $iStart, $iEnd)
;main function
Local $aRet = StringRegExp($sString, '(?s)(.)', 3)
_ArrayReverse($aRet)
Return $sStart & _ArrayToString($aRet, '') & $sEnd
EndFunc ;==>RegEx_StringReverse

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringLen
; Description ...: Get the Length of the String
; Syntax ........: RegEx_StringLen($sString)
; Parameters ....: $sString - A string value.
; Return values .: Length of the String
; Author ........: Your Name
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringLen($sString)
;Replace Each Character
StringRegExpReplace($sString, '(?s)(.)', '')
;Return the Number of replacements
Return @extended
EndFunc ;==>RegEx_StringLen

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringRepeat
; Description ...: Repeats the String
; Syntax ........: RegEx_StringRepeat($sString, $iTimes)
; Parameters ....: $sString - A string value.
; $iTimes - An integer value.
; Return values .: Returns the new string
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringRepeat($sString, $iTimes)
Local $_ReplaceString
;make the replace string
For $i = 1 To $iTimes
$_ReplaceString &= '\1'
Next
;Return
Return StringRegExpReplace($sString, '(?s)(.*)', $_ReplaceString)
EndFunc ;==>RegEx_StringRepeat

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringLeft
; Description ...: Extract Characters from the Left
; Syntax ........: RegEx_StringLeft($sString, $iCount)
; Parameters ....: $sString - A string value.
; $iCount - An integer value.
; Return values .: The extracted string
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringLeft($sString, $iCount)
Return RegEx_StringMid($sString, 0, $iCount)
EndFunc ;==>RegEx_StringLeft

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringRight
; Description ...: Extract Characters from the Right
; Syntax ........: RegEx_StringRight($sString, $iCount)
; Parameters ....: $sString - A string value.
; $iCount - An integer value.
; Return values .: The extracted string
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringRight($sString, $iCount)
Return RegEx_StringReverse(RegEx_StringLeft(RegEx_StringReverse($sString), $iCount))
EndFunc ;==>RegEx_StringRight

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringTrimLeft
; Description ...: Strip a number of char from the left
; Syntax ........: RegEx_StringTrimLeft($sString, $iCount)
; Parameters ....: $sString - A string value.
; $iCount - An integer value.
; Return values .: The New String
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringTrimLeft($sString, $iCount)
Return RegEx_StringRight($sString, RegEx_StringLen($sString) - $iCount)
EndFunc ;==>RegEx_StringTrimLeft

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringTrimRight
; Description ...: Strip a number of char from the right
; Syntax ........: RegEx_StringTrimRight($sString, $iCount)
; Parameters ....: $sString - A string value.
; $iCount - An integer value.
; Return values .: The New String
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringTrimRight($sString, $iCount)
Return RegEx_StringLeft($sString, RegEx_StringLen($sString) - $iCount)
EndFunc ;==>RegEx_StringTrimRight

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringLower
; Description ...: Convert UpperCase to LowerCase
; Syntax ........: RegEx_StringLower($sString)
; Parameters ....: $sString - A string value.
; Return values .: The New String
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringLower($sString)
Local $iOff = 0
For $i = 101 To 132
$sString = StringRegExpReplace($sString, '\' & $i + $iOff, ChrW($i - 103 + 97))
If RegEx_StringRight($i,1) = '7' Then $iOff += 2
Next
Return $sString
EndFunc ;==>RegEx_StringLower

; #FUNCTION# ====================================================================================================================
; Name ..........: RegEx_StringUpper
; Description ...: Convert Lower Case to UpperCase
; Syntax ........: RegEx_StringUpper($sString)
; Parameters ....: $sString - A string value.
; Return values .: The New String
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func RegEx_StringUpper($sString)
Local $iOff = 0
For $i = 141 To 172
$sString = StringRegExpReplace($sString, '\' & $i + $iOff, ChrW($i - 141 + 65))
If RegEx_StringRight($i,1) = '7' Then $iOff += 2
Next
Return $sString
EndFunc ;==>RegEx_StringLower

; #INTERNAL USE ONLY# ===========================================================================================================
; Name ..........: CheckPattern
; Description ...: Checks the Parameter of a RegExp
; Syntax ........: CheckPattern (Byref $sString)
; Parameters ....: $sString - [in/out] A string value.
; Return values .: Always returns 1
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......: The Search String can also include Special characters that would disrupt
; the Regexp therefore this function encloses each character in sets.
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func CheckPattern (ByRef $sString )
;enclose withing sets so that special character lose their meaning
$sString = '(' & StringRegExpReplace ( $sString, '(?s)(.)', '[\1]' ) & ')'
Return 1
EndFunc


; ===============================================================================================================================

Example : _ArrayFindAllEx - Similar to _ArrayFindAll with Include, Exclude masks

#include <Array.au3>

;Link - http://www.autoitscript.com/forum/topic/147216-solved-is-there-any-arrayfindall-replacement-that-support-wildcard/

Local $aTest_Array[3] = ['Testing`_Temp.jpg', 'JOHN.jpeg', 'Boshe.jpeg']
Local $Ret_Array
$Ret_Array = _ArrayFindAllEx( $aTest_Array, '*_Temp.jp?g|*h?.jp?g', False, 'Test*.jp?g|b*.jpeg', False )
_ArrayDisplay($Ret_Array, @extended & ' Match')

#cs
Wildcards
* - Zero or more character
+ - One or more character
? - No or one character
#ce
; #FUNCTION# ====================================================================================================================
; Name ..........: _ArrayFindAllEx
; Description ...: Similar to _ArrayFindAll with Include, Exclude masks
; Syntax ........: _ArrayFindAllEx(Const Byref $aArray, $sIncludeMask[, $fIncSenstive = True[, $sExcludeMask = ''[,
; $fExcSenstive = True]]])
; Parameters ....: $aArray - [in/out and const] The Array to search for the values.
; $sIncludeMask - A string value.
; $fIncSenstive - [optional] A boolean value. Default is True.
; $sExcludeMask - [optional] A string value. Default is ''.
; $fExcSenstive - [optional] A boolean value. Default is True.
; Return values .: Sucess - Returns the array of the Index of the found values
; - @extended is set to the number of items found
; Failure - Returns '' and sets @error to 1
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......: _ArrayFindAll
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _ArrayFindAllEx(ByRef Const $aArray, $sIncludeMask, $fIncSenstive = False, $sExcludeMask = '', $fExcSenstive = False)
;Set Sensitivity Values
If $fIncSenstive Then
$fIncSenstive = ''
Else
$fIncSenstive = '(?i)'
EndIf
If $fExcSenstive Then
$fExcSenstive = ''
Else
$fExcSenstive = '(?i)'
EndIf

;Make the Include Mask Pattern
$sIncludeMask = StringRegExpReplace($sIncludeMask, '(?s)([^\w|])', '[\1]')
$sIncludeMask = StringRegExpReplace($sIncludeMask, '(?s)(\[\?\])', '.?')
$sIncludeMask = StringRegExpReplace($sIncludeMask, '(?s)(\[\+\])', '.+')
$sIncludeMask = $fIncSenstive & '(?s)\A(' & StringRegExpReplace($sIncludeMask, '(?s)(\[\*\])', '.*') & ')\z'

Local $aRet[1]
;Debug Out Include Mask Patterns
ConsoleWrite($sIncludeMask & @CR)

;Get the to-include Strings
For $i = 0 To UBound($aArray) - 1
If StringRegExp($aArray[$i], $sIncludeMask) Then _ArrayAdd($aRet, $i)
Next
_ArrayDelete($aRet, 0)
If Not IsArray($aRet) Then Return 0
If Not $sExcludeMask Then Return SetExtended(UBound($aRet), $aRet)

;Make the Exclude Mask Pattern
$sExcludeMask = StringRegExpReplace($sExcludeMask, '(?s)([^\w|])', '[\1]')
$sExcludeMask = StringRegExpReplace($sExcludeMask, '(?s)(\[\?\])', '.?')
$sExcludeMask = StringRegExpReplace($sExcludeMask, '(?s)(\[\+\])', '.+')
$sExcludeMask = $fExcSenstive & '(?s)\A(' & StringRegExpReplace($sExcludeMask, '(?s)(\[\*\])', '.*') & ')\z'

;Debug Out Exclude Mask Patterns
ConsoleWrite($sExcludeMask & @CR)
Local $nDeleted = 0
;Delete the to-exclude strings
For $i = 0 To UBound($aRet) - 1
If StringRegExp($aArray[$aRet[$i - $nDeleted]], $sExcludeMask) Then $nDeleted += Number(_ArrayDelete($aRet, $i - $nDeleted) > 0)
Next
;Done
Return SetError(Not IsArray($aRet), UBound($aRet), $aRet)

EndFunc ;==>_ArrayFindAllEx

Advanced

Example : Replaces Underscore with the following line

; ===============================================================================================================================

;Link - http://www.autoitscript.com/forum/topic/145487-stringregexp-general-help/page__st__20#entry1038879

#include <Array.au3>

;Example : Replaces Underscore with the following line
#region -Examples-
Local $sString
$sString = '$s = "This a short example."' & @CRLF & _
'ConsoleWrite($s & @LF)'
Display($sString, RegEx($sString))

$sString = '$s = "Another example." ; with a short comment _' & @CRLF & _
'ConsoleWrite($s & @LF)'
Display($sString, RegEx($sString))

$sString = '$s = "Yet another example _ ; tada."' & @CRLF & _
'ConsoleWrite($s & @LF)'
Display($sString, RegEx($sString))

$sString = 'DllCall("ntdll.dll", "int", "RtlCompressBuffer", _' & @LF & _
'"ushort", 2, _ ;------> CompressFormat' & @LF & _
'"ptr", $pInput, _ ;---> ptrSrceBuffer' & @LF & _
'"dword", $iSize, _ ;--> SrceBufferSize' & @LF & _
'"ptr", $pBuffer, _ ;--> ptrDestBuffer' & @LF & _
'"dword", $iBufLen, _;aa; vv;> DestBufferSize' & @LF & _
'"dword", 4096, _ ;----> ChunkSize' & @LF & _
'"dword*", 0, _ ;------> CompressedSize' & @LF & _
'"ptr", $pWrkSp) ;-----> WorkspaceBuffer'
Display($sString, RegEx($sString))

$sString = 'MsgBox(4096, "Title _ v1", "This program is free software: you can redistribute it and/or modify" & _' & @LF
$sString &= ' "it under the terms of the GNU General Public License " _" & _ ; Only comment!' & @LF
$sString &= ' "as published by the Free Software Foundation, either version 3" & _' & @LF
$sString &= ' "of the License, or (at your option) any later version.")'
Display($sString, RegEx($sString) )
#endregion -Examples-


Func RegEx($sString)
Local $aRet = ''
;Get Each Line
$aArray = StringRegExp($sString, '(?m)(?:[^\r\n]+[\r\n]|[^\r\n]+$)', 3)
;_ArrayDisplay( $aArray )
For $a = 0 To UBound($aArray) - 1
$aRet &= CheckUnderScore($aArray[$a])
;~ MsgBox(0, '', $aRet)
;~ StringRegExpReplace( $sString, '(?s)(?x)([''"])(.*?1)([()><=+-/*,[:digit:]]?)*', '')
Next
If @error Then Return SetError(1, @error, -1)
Return $aRet
EndFunc ;==>RegEx

Func CheckUnderScore($sString)
Local $aRet, $Comment = False
;Replace the Quotes
$aRet = StringRegExpReplace($sString, '(?s)([''"])(.*?\1)', '')

;Number of Semi-Colon in comments
StringRegExpReplace($aRet, ';', '')
$Comment = @extended

;Replace the Comments
$aRet = StringRegExpReplace($aRet, '(?m)(;.*)(\r\n|$|\r|\n)', '')

;~ MsgBox(0, $Comment, $aRet)

;Remove Trailing Spaces
$aRet = StringRegExpReplace($aRet, '(?m)(\s+)$', '' )

;Done
If StringRegExp($aRet, '(?m)(_$)') Then
;Check Comments
If $Comment Then
;Replace the first semicolon which starts the comment
;~ $sString = StringMid($sString, 1, StringInStr($sString, ';', 2, $Comment * - 1) - 1)
$sString = StringRegExpReplace($sString, '(.*)(;[^;]*){'& $Comment &'}', '\1')
;~ MsgBox(0, 0, $sString )
Else
;And replace the breaks
$sString = StringRegExpReplace( $sString, '([\r\n])', '' )
;~ MsgBox(0, 1, $sString )
EndIf
;Underscore Replace
$sString = StringRegExpReplace($sString, '(.*)(_)', '\1')
;~ MsgBox(0, 2, $sString )
EndIf
Return $sString

EndFunc ;==>CheckUnderScore

Func Display($sInput, $sOutput, $sLast = '\n\n')
;Display the Result
ConsoleWrite(StringFormat('-Input: %s\n+Output: %s' & $sLast, $sInput, $sOutput))
EndFunc ;==>Display

; ===============================================================================================================================

Example : Shorten your Sentence

; ===============================================================================================================================

;Link - http://www.autoitscript.com/forum/topic/145487-stringregexp-general-help/page__st__20#entry1035465
#include-once

Opt('TrayIconDebug', 1)

#region -Index-
; Aim...........: To reduce the number of character in a sentence
; Description...: This Function deletes the vowels such that the sentences still sound the same
; Application...: Useful for texting(SMS) purposes through Internet
; Author........: Phoenix_XL
#endregion -Index-

#region -KeyPoints-
; Ignore the starting and ending vowels of any word

; Delete all the repeating consecutive alphabets[non-vowels] in a word
; -Excluding the last and first consecutive chars [if any]

; Remove all the single Vowels in b/w the word
; -In case of simultaneous vowels nothing is deleted

; Removes trailing WhiteSpaces
#endregion -KeyPoints-

#region -Example-
Local $String = ClipGet()
If @error Then Exit @error

ConsoleWrite('+===================================' & @CR)
ShortSentence($String)
ConsoleWrite('+===================================' & @CR)

ClipPut($String)
#endregion -Example-

; #FUNCTION# ====================================================================================================================
; Name ..........: ShortSentence
; Description ...: Trims the Vowels and Alphabets such that the phrase/sentence still sounds the same
; Syntax ........: ShortSentence(Byref $sString[, $fDebug = True])
; Parameters ....: $sString - [in/out] A string value. The String is modified
; $fDebug - [optional] A boolean value. Default is True.
; Return values .: Returns the Original String and @extended is to the number of replacements done
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func ShortSentence(ByRef $sString, $fDebug = True)
Local $aRegEx, $sBackUp = $sString, $iExt = 0
Local $sPattern = '(?i)([b-df-hj-np-tv-z])' & _ ; (First Group) Match the starting of the word with a consonant.
'([aeiou])([b-df-hj-np-tv-z]+)' ; (Second group & Third group) Matching the vowel and the following consonant(s).

$iExt += GeneralReplacements($sString)
;~ MsgBox ( 0, $iExt, $sString )

;Trim Repeating Non-Vowel Alphabets
$sString = StringRegExpReplace($sString, '(?i)(\B[b-df-hj-np-tv-z])(\1+\B)', '\1')
$iExt += @extended
;~ MsgBox ( 0, @extended, $sString )

;Set Extended for the Initiation
SetExtended(1)
While @extended
;~ MsgBox(0, $iExt, $sString)
$aRegEx = StringRegExpReplace($sString, $sPattern, '\1\3', 1)
$iExt += @extended - 1
;Assign the New String
$sString = $aRegEx
WEnd

;Remove the trailing space/
$sString = StringStripWS($sString, 2)
;Debug out
If $fDebug Then ConsoleWrite($sString & @CR)
;Completed
Return SetExtended($iExt, $sBackUp)

EndFunc ;==>ShortSentence

; #FUNCTION# ====================================================================================================================
; Name ..........: GeneralReplacements
; Description ...: Change some general words
; Syntax ........: GeneralReplacements(Byref $sString)
; Parameters ....: $sString - [in/out] A string value. The String is modified
; Return values .: Returns the number of replacements performed.
; Author ........: Phoenix XL
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func GeneralReplacements(ByRef $sString)
Local $aArray[9][2] = [["the", "d"],['eat|ate', '8'],['\band\b', 'n'],['good', 'gud'], _
['should', 'sud'],['one', '1'],['to|two', '2'],['we', 'v'],['because', 'bcoz']]
Local $iRet = 0
For $i = 0 To UBound($aArray) - 1
If $aArray[$i][0] = '' Then ContinueLoop
$sString = StringRegExpReplace($sString, '(?i)(' & $aArray[$i][0] & ')', $aArray[$i][1])
$iRet += @extended
Next
Return $iRet
EndFunc ;==>GeneralReplacements

; ===============================================================================================================================

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites



Firstly, threads such as this one is going to cause confusion and unnecessary necroing.

Secondly, provide a before and after of what you expect.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

This change will work:

Local $nPattern = "['"& '"]' & "([^'"& '"]*?)' & '["' & "']"

I generally use the capturing groups on info that I want returned when using the Global matches (3)

Share this post


Link to post
Share on other sites

You're over-complicating the pattern.

"([^"]*)"

will do in that precise case.

1 person likes this

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Share this post


Link to post
Share on other sites

Firstly, threads such as this one is going to cause confusion and unnecessary necroing.

It is the typical sentence for those who already understand enough of the subject!

But I do not think it will be that way, because I think it will help a lot to many people, including me.

JS


http://forum.autoitbrasil.com/ (AutoIt v3 Brazil!!!)

Somewhere Out ThereJames Ingram

somewh10.png

dropbo10.pngDownload Dropbox - Simplify your life!
Your virtual HD wherever you go, anywhere!

Share this post


Link to post
Share on other sites

@guinness

Secondly, provide a before and after of what you expect.

Thanks

@JScript

I think it will help a lot to many people, including me.

Indeed me too :idiot:

@jchd

Sorry its my mistake, i used it in differentiating quoted words and not quoted words

@Varian

Thanks it worked :)


My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

Another question

Why are the Null characters even getting matched

#include <Array.au3>
Local $iString = "Just Testing dj"
RegEx($iString)

Func RegEx($nString)
Local $nPattern = "\w*"
ConsoleWrite($nPattern & @CR)

Local $nRegex = StringRegExp($nString, $nPattern, 3)
If @error Then Exit @extended

_ArrayDisplay($nRegex)
EndFunc ;==>RegEx
Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

jchd's example should use single quotes around the expression as not to cause an error.

I also have a limited understanding of regular expressions myself, but we will see where this thread goes.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

I just typed the required pattern without any decoration.


This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

I need to capture only the initial number after the word "Line"

I need to change only the initial number after the word "Line" by any other number!

I did the following:

Local $sString = 'Line 10764  (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
        'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "d+[0-9]", 65)

MsgBox(4096, "Title", $sRet)

I did it with the help of this program: http://www.ultrapico.com/Expresso.htm

It's working, but there is another more efficient way of doing?

JS

Edited by JScript
1 person likes this

http://forum.autoitbrasil.com/ (AutoIt v3 Brazil!!!)

Somewhere Out ThereJames Ingram

somewh10.png

dropbo10.pngDownload Dropbox - Simplify your life!
Your virtual HD wherever you go, anywhere!

Share this post


Link to post
Share on other sites

this would work

#include <Array.au3>
Local $sString = 'Line 10764  (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
        'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, '([[:upper:]][[:lower:]]{3} )(d+)(?s).*', '$2')
If @error Then Exit @extended
MsgBox(4096, "Title", $sRet)

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

orelse this one

Local $sString = 'Line 10764  (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
        'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "w+ (d+[0-9])(?s).*", '$1')

MsgBox(4096, "Title", $sRet)

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

#14 ·  Posted (edited)

Your example in post #10 would give incorrect results if the Line # were only a single digit, and/or if there is a sequence of 2 or more digits elsewhere in the string.

Local $sString = 'Line 10764 (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "ALine [0-9]+", "Line " & 65)

MsgBox(4096, "Title", $sRet)
Edited by boththose

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

but suppose the words "Line" was another, your example would not work!

Then this would not be accurate

I need to change only the initial number after the word "Line" by any other number!

and you would be building a regexp that changes any numbers after any words? is the location of the numbers at least the same everytime?

Edited by boththose

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Share this post


Link to post
Share on other sites

#17 ·  Posted (edited)

This one shows usage of Back-Reference

;Replace the Line Number with any User Defined Number( 65 as an example)
Local $sString = 'Line 10764 (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "(w+) [0-9]+", "$1 65")

MsgBox(4096, "Title", $sRet)

;This Wont work
;Since $165 is used there is no 165 replacement (maximum 10 back-reference )
Local $sString = 'Line 10764 (File "D:DropboxAutoIt v3 - ProjectsAutoItErrorTrapExample4.exe"):' & @CRLF & _
'Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.'
Local $sRet = StringRegExpReplace($sString, "(w+ )[0-9]+", "$165")

MsgBox(4096, "Title", $sRet)

Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

#19 ·  Posted (edited)

Example ( not accurate - check for accurate results)

-->Replaces the Underscores with the Next Line

-Thanks to Varian for the original Pattern

Local $iString
$iString = 'DllCall("ntdll.dll", "int", "RtlCompressBuffer", _' & @LF & _
'"ushort", 2, _ ;------> CompressFormat' & @LF & _
'"ptr", $pInput, _ ;---> ptrSrceBuffer' & @LF & _
'"dword", $iSize, _ ;--> SrceBufferSize' & @LF & _
'"ptr", $pBuffer, _ ;--> ptrDestBuffer' & @LF & _
'"dword", $iBufLen, _ ;> DestBufferSize' & @LF & _
'"dword", 4096, _ ;----> ChunkSize' & @LF & _
'"dword*", 0, _ ;------> CompressedSize' & @LF & _
'"ptr", $pWrkSp) ;-----> WorkspaceBuffer'

ConsoleWrite('Returned: ' & RegEx($iString) & @CR)

;Replaces the Underscores with the NextLine
Func RegEx($sString)
Local $sPattern = "(?m)(^.*)( _)(?:\s*$|\s*;.*\s*$)"
;Remove the Comments
Local $sRegex = StringRegExpReplace($sString, $sPattern, '\1')
;Now Lets Join them
Return StringRegExpReplace($sRegex, '(?m)([\r\n])', '')
EndFunc ;==>RegEx
Edited by PhoenixXL

My code:

PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.

Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners.

MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. 

Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.

Share this post


Link to post
Share on other sites

Please don't double post in distinct threads and don't mix threads up. This is not how this forum works; keep it one subject = one thread.


This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0