Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

All the characters in regular expressions are case sensitive

$
0
0

To get the full range of

AutoIt         
$timer = TimerInit() $sRange = _GetRangeSPE() MsgBox(0, "Timer", Round(TimerDiff($timer) / 1000, 2) & ' sec') $hFile = FileOpen(@ScriptDir & '\Range.txt', 2) FileWrite($hFile, $sRange) FileClose($hFile) Func _GetRangeSPE()     Local $Lower, $Upper, $s, $sRange, $tmp, $trg1 = 0, $trg2 = 0     For $i = 0x80 To 0xFFFF         $s = ChrW($i)         $Upper = StringUpper($s)         $Lower = StringLower($s)         If Not ($Upper == $Lower) Then             $trg1 += 1             $tmp = $i         Else             $trg1 = 0         EndIf         Switch $trg1             Case 1                 $sRange &= '\x{' & Hex($i, 4) & '}'             Case 2                 $trg2 = 1             Case 3                 $sRange &= '-'             Case 0                 If $trg2 Then                     $trg2 = 0                     $sRange &= '\x{' & Hex($tmp, 4) & '}'                 EndIf         EndSwitch     Next     Return $sRange EndFunc   ;==>_GetRangeSPE
AutoIt         
$timer = TimerInit() $sRes = __FO_UserLocale2('Она может задать диапазон не обязательно для русского языка. Check if a string fits a given regular expression pattern.', '\x{00C0}-\x{00D6}\x{00D8}-\x{00DE}\x{00E0}-\x{00F6}\x{00F8}-\x{012F}\x{0132}-\x{0137}\x{0139}-\x{0148}\x{014A}-\x{017E}\x{0181}-\x{018C}\x{018E}-\x{0194}\x{0196}-\x{0199}\x{019C}\x{019D}\x{019F}-\x{01A5}\x{01A7}-\x{01A9}\x{01AC}-\x{01B9}\x{01BC}\x{01BD}\x{01C4}\x{01C6}\x{01C7}\x{01C9}\x{01CA}\x{01CC}-\x{01EF}\x{01F1}\x{01F3}-\x{01F5}\x{01FA}-\x{0217}\x{0253}\x{0254}\x{0256}\x{0257}\x{0259}\x{025B}\x{0260}\x{0263}\x{0268}\x{0269}\x{026F}\x{0272}\x{0275}\x{0283}\x{0288}\x{028A}\x{028B}\x{0292}\x{0386}\x{0388}-\x{038A}\x{038C}\x{038E}\x{038F}\x{0391}-\x{03A1}\x{03A3}-\x{03AF}\x{03B1}-\x{03CE}\x{03E2}-\x{03EF}\x{0401}-\x{040C}\x{040E}-\x{044F}\x{0451}-\x{045C}\x{045E}-\x{0481}\x{0490}-\x{04BF}\x{04C1}-\x{04C4}\x{04C7}\x{04C8}\x{04CB}\x{04CC}\x{04D0}-\x{04EB}\x{04EE}-\x{04F5}\x{04F8}\x{04F9}\x{0531}-\x{0556}\x{0561}-\x{0586}\x{10A0}-\x{10C5}\x{1E00}-\x{1E95}\x{1EA0}-\x{1EF9}\x{1F00}-\x{1F15}\x{1F18}-\x{1F1D}\x{1F20}-\x{1F45}\x{1F48}-\x{1F4D}\x{1F51}\x{1F53}\x{1F55}\x{1F57}\x{1F59}\x{1F5B}\x{1F5D}\x{1F5F}-\x{1F7D}\x{1FB0}\x{1FB1}\x{1FB8}-\x{1FBB}\x{1FC8}-\x{1FCB}\x{1FD0}\x{1FD1}\x{1FD8}-\x{1FDB}\x{1FE0}\x{1FE1}\x{1FE5}\x{1FE8}-\x{1FEC}\x{1FF8}-\x{1FFB}\x{2160}-\x{217F}\x{24B6}-\x{24E9}\x{FF21}-\x{FF3A}\x{FF41}-\x{FF5A}') MsgBox(0, "Timer", Round(TimerDiff($timer), 2) & ' msec' & @LF & $sRes) Func __FO_UserLocale2($sMask, $sLocale)     Local $s, $tmp     $sLocale = StringRegExpReplace($sMask, '[^' & $sLocale & ']', '')     $tmp = StringLen($sLocale)     For $i = 1 To $tmp         $s = StringMid($sLocale, $i, 1)         If $s Then             If StringInStr($sLocale, $s, 0, 2, $i) Then                 $sLocale = $s & StringReplace($sLocale, $s, '')             EndIf         Else             ExitLoop         EndIf     Next     If $sLocale Then         $tmp = StringSplit($sLocale, '')         For $i = 1 To $tmp[0]             $sMask = StringReplace($sMask, $tmp[$i], '[' & StringUpper($tmp[$i]) & StringLower($tmp[$i]) & ']')         Next     EndIf     Return $sMask EndFunc   ;==>__FO_UserLocale2
AutoIt         
$timer = TimerInit() $sRes = __FO_UserLocale('Она может задать диапазон не обязательно для русского языка. Check if a string fits a given regular expression pattern.', '\x{80}-\x{ffff}') MsgBox(0, "Timer", Round(TimerDiff($timer), 2) & ' msec' & @LF & $sRes) Func __FO_UserLocale($sMask, $sLocale)     Local $s, $tmp     $sLocale = StringRegExpReplace($sMask, '[^' & $sLocale & ']', '')     $tmp = StringLen($sLocale)     For $i = 1 To $tmp         $s = StringMid($sLocale, $i, 1)         If $s Then             If StringInStr($sLocale, $s, 0, 2, $i) Then                 $sLocale = $s & StringReplace($sLocale, $s, '')             EndIf         Else             ExitLoop         EndIf     Next     If $sLocale Then         Local $Upper, $Lower         $tmp = StringSplit($sLocale, '')         For $i = 1 To $tmp[0]             $Upper = StringUpper($tmp[$i])             $Lower = StringLower($tmp[$i])             If Not ($Upper == $Lower) Then $sMask = StringReplace($sMask, $tmp[$i], '[' & $Upper & $Lower & ']')         Next     EndIf     Return $sMask EndFunc   ;==>__FO_UserLocale

I want to make search of the files which names are sensitive to the register on any system. In such a way I form regular expression.

 

I on a right way?
 


Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>