Jump to content

Recommended Posts

Link to post
Share on other sites

I realized @ptrex, you ask @pixelsearch for tips, but I want to share my experience on getting more familiar with RegEx:
I used interactive tutorials in the past like this one for example (which works pretty well for me).
Maybe this also fits your personal learning type?!

Best regards
Sven

Stay innovative!

Spoiler

🌍 Au3Forums

🎲 AutoIt (en) Cheat Sheet

📊 AutoIt limits/defaults

💎 Code Katas: [...] (comming soon)

🎭 Collection of GitHub users with AutoIt projects

🐞 False-Positives

🔮 Me on GitHub

💬 Opinion about new forum sub category

📑 UDF wiki list

✂ VSCode-AutoItSnippets

📑 WebDriver FAQs

👨‍🏫 WebDriver Tutorial (coming soon)

Link to post
Share on other sites
  • pixelsearch changed the title to RegExpQuickTester 2.5h
10 hours ago, ptrex said:

Do you have any good tips to get this to a descent level to understand the syntax properly ...

Hi @ptrex
I got a book named "Regular Expressions - The Complete Tutorial" by Jan Goyvaerts. You can easily find it on the web (it's a pdf file, 921Kb) . I consult it from time to time, but not as often as I should.

The script above has been revised today from version 2.5g to 2.5h, it's just a minor revision.

Link to post
Share on other sites

230215-044227-602_AutoIt3_fWkeI.png.e5a178c50d9d2684020f07666f205705.png

@pixelsearch  :dance:

Well done, your tool is very good, especially (and not only) for beginners.

With the guide on the right click, it guides you briefly, and explains what the symbols do.

Congratulations !

 

 

 

 

 

 

if i could suggest,

since I see that there is a position available on the right of the tabs. :)

or a hole between the buttons :)

to give the complete code, for copying

in the form (ready for delivery)

#include <Debug.au3>
Local $sRegex = '"data":"([^"]+)"'
Local $sString = '[[{"records":{"data":"random data"}}],[{"filtered":{"data":"unknown variable"}}],[{"duplicate":{"data":"not constant"}}],{"subject":"Test"}]'

Local $aArray = StringRegExp($sString, $sRegex, 3)
_DebugArrayDisplay($aArray)

 

Link to post
Share on other sites
4 hours ago, ioa747 said:

if i could suggest [...] to give the complete code, for copying in the form (ready for delivery)

Thanks for the idea (and your encouragements) :)
A button to generate the whole code would be nice (copying it to ClipBoard)

We'll have to think about what to do if the "Replace Pattern" Tab is filled (and then maybe the "Replace count" field too). In this case, a StringRegExpReplace() function should be generated and not a StringRegExp() and its _ArrayDisplay() function etc...

I'll think of it when I got some free time (this week being busy)
 

Link to post
Share on other sites
  • pixelsearch changed the title to RegExpQuickTester 2.5i

@ioa747 Following your suggestion, I added a couple of functions to generate the AutoIt code, it seems to work fine. 2 cases may appear when you click on the "Code" button :

1) StringRegExp code :

72106233_CodeStringRegExp.png.26eb4c30b5c795901f2bd09a60a20141.png

2) StringRegExpReplace code. In this example the 'Replace Pattern' Tab contains  $2.$1.$3  (surrounded with 1 space)

2018371102_CodeStringRegExpReplace.png.59547fe32e0b5a8b23e758f21b900307.png

In both pics above, the GUI is vertically shrinked (on purpose) just to reduce the uploaded pics size on the Forum (the regular vertical size is the one found in the pic in 1st post).

This new version is named "RegExpQuickTester 2.5i.au3" and its listing is found in 1st post.

Link to post
Share on other sites

Thanks !
I got something to modify : in Mode 0, StringRegExp won't return an Array but an Int32
Gonna fix it this evening and modify the listing accordingly (without changing version)

Edit: fixed

Edited by pixelsearch
Link to post
Share on other sites
On 2/15/2023 at 9:32 PM, ioa747 said:

I see that there is a position available on the right of the tabs.

Well... maybe we can fill it with a Personal Tab.
In this Tab, we can place stuff we want to keep as long as we wish (alternative patterns etc...) it's a sort of personal backup saved between sessions in the ini file. This Tab content will never interfere with StringRegExp Results.

1110454867_PersonalTab(ontest).png.9c1b2093b51f20947cf47dee95f72345.png

If you guys think it's interesting, then I'll add it in the code.
Have a great day :)

Link to post
Share on other sites

something like favorite patterns

I like it !  👍

 

PS

I have found three link  that I think are worth sharing with all off you

https://regex101.com/

https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285

https://medium.com/factory-mind/regex-cookbook-most-wanted-regex-aa721558c3c1

Edited by ioa747
Link to post
Share on other sites
  • pixelsearch changed the title to RegExpQuickTester 2.5j
9 hours ago, Sascha said:

I immediately loved it

I understand this, as I had the very same feeling when discovering this wonderful piece of software back in 2018. Lazycat, w0uter and @steve8tchreally did a great job at the time.

Just a minor change I just made, inside the main While...WEnd loop :

GUICtrlSetState($ebRegExp, $GUI_FOCUS)

commented out, changed to :

; GUICtrlSetState($ebRegExp, $GUI_FOCUS) ; better caret position when line commented out.

If someone uses the special context menu to paste anything from the menu, then the caret will be placed just after what has been pasted (when the line is commented out), I like this behavior.

On the contrary, when the line is uncommented, then the caret will be placed at the end of the pattern after the paste process has ended (though I saw the caret also placed anywhere in the pattern too, when the line is uncommented)

Anyway no big deal, it's just a minor cosmetic change. Uncommented line or commented out, to each his own :)

Edited by pixelsearch
Link to post
Share on other sites
  • 3 weeks later...

Hi pixelsearch

Since I very rarely use regular expressions, I am too lazy to learn this topic. 🙂
But looking at such wonderful programs as this, I always dreamed of a lazy version.
This is when I could enter "match text" and "result", and get "pattern".

Is it possible?

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

    No registered users viewing this page.

×
×
  • Create New...