Jump to content

StringRegExp search for / \ | , < > : ; ' [ ] { } + =


Recommended Posts

Posted

Hello

I am trying to get StringRegExp to search for characters type / \ | , < > : ; ' [ ] { } + =

i didn't yet figure out how to get it work , if someone could please post example will be great

thanks

Posted

Hi!

Here's my attempt (I suck at Regular Expressions)

The only one I couldn't find out how to match was the '|'

#include <array.au3>
$string="s\{sdf//;sdf||l.\<>;/ \ | , < > :; ' [ ] { } + = "
$array=StringRegExp($string,"[=\+\{\}\[\]\';:<>,\\/]{1}",3)
_ArrayDisplay($array)

Broken link? PM me and I'll send you the file!

Posted

You can use the escape character '\' before any of those characters, or use \Q...\E to escape all metacharacters. A specific example for what you are trying to search for would help, but this expression will return any of the characters you described:

"[\/|\\|\||\,|\<|\>|\:|\;|\'|\[|\]|\{|\}|\+|\=]"

Posted

Little example. Of course you can easily add further signs.

#include<GUIConstantsEx.au3>
#include <GUIConstants.au3>

$GUI = GUICreate("Enter a name for a new folder....", 320, 120, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput("", 10, 20, 300, 20)
$btn = GUICtrlCreateButton("Ok", 40, 95, 60, 20)
GUISetState(@SW_SHOW)

;~ GUIRegisterMsg($WM_COMMAND, "DB_WM_COMMAND")

Dim $previousText

While 1
    $msg = GUIGetMsg()
    If $msg = $btn Or $msg = $GUI_EVENT_CLOSE Then Exit

    $text = GUICtrlRead($file)
    If $previousText <> $text Then ToolTip("")

    If StringRegExp($text, '\\|/|:|\*|\?|\"|\<|\>|\|') Then
        GUICtrlSetData($file, StringRegExpReplace($text, '\\|/|:|\*|\?|\"|\<|\>|\|', ""))
        DllCall("user32.dll", "int", "MessageBeep", "int", 0xFFFFFFFF) ;Beep
        Local $tooltipPos = WinGetPos($GUI)
        ToolTip("A file name cannot contain any of the following characters:" & @LF & _
                '             \ / : * ? " < > |', $tooltipPos [0] + 160, $tooltipPos [1] + 60, Default, Default, 3)
        $previousText = GUICtrlRead($file)
    EndIf
WEnd

Mega

Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Posted

And here is a method that escapes all special characters:

$String = "test [or] example ;)"
$String = StringRegExpReplace($String, '([][{}()|.?+*\\^])', '\\\1')

MsgBox(64, "", "No all special characters are escaped:" & @LF & @LF & $String)

And as for the unsupported characters in file names, there is _StrReplaceUnsupported() UDF UDF in my signature.

 

Spoiler

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

AutoIt_Rus_Community.png AutoIt Russian Community

My Work...

Spoiler

AutoIt_Icon_small.pngProjects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize Program

AutoIt_Icon_small.pngUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF
 
AutoIt_Icon_small.pngExamples: 
ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo

Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating AutoIt_Rating.gif)

* === My topics === *

==================================================
My_Userbar.gif
==================================================

 

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...