Community
    • Login

    Using sets to find A-Za-z plus the # and - chars ..?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    23 Posts 6 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • guy038G
      guy038
      last edited by guy038

      Hello, @peterjones,

      In the post below, Peter :

      https://community.notepad-plus-plus.org/post/81643

      You said :

      Actually, it’s not documented in our character classes section. I will remedy that.

      Then, regarding the Character Class feature, may be, this part could be added to the Official Notepad++ Documentation : :

      If we consider the following CHARACTER CLASS structure :
      
      [.......]
      123456789
      
      The POSSIBLE location(s), in order to find the LITERAL character below, are :
      
      LITERAL Character [    :     POSSIBLE at any position, BETWEEN 2 to 8 
                                   POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
      							 
      LITERAL Character ]    :     POSSIBLE at position 2 ONLY
                                   POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
      							 
      LITERAL Character -    :     POSSIBLE at position 2
                                   POSSIBLE at position 8
                                   POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
      							 
      LITERAL Character \    :     POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
      

      Of course, change this layout as you like !

      Best Regards,

      guy038

      Alan KilbornA 1 Reply Last reply Reply Quote 2
      • Alan KilbornA
        Alan Kilborn @guy038
        last edited by Alan Kilborn

        @guy038

        It is rather awkward to express, but I like your idea.

        My idea for expression:

        • To use a “literal [” in a character class: Use it directly like any other character, e.g. [ab[c]; “escaping” is not necessary (but is permissible), e.g. [ab\\[c]

        • To use a “literal ]” in a character class: Directly right after the opening [ of the class notation, e.g. []abc], OR “escaped” at any position, e.g. [\\]abc] or [a\\]bc]

        • To use a “literal -” in a character class: Directly as the first or last character in the enclosing class notation, e.g. [-abc] or [abc-], OR “escaped” at any position, e.g. [\-abc] or [a\-bc]

        • To use a “literal \” in a character class: Must be doubled (i.e., \\) inside the enclosing class notation, e.g. [ab\\c]

        PeterJonesP 1 Reply Last reply Reply Quote 2
        • PeterJonesP
          PeterJones @Alan Kilborn
          last edited by

          @Alan-Kilborn & @guy038 ,

          I like those suggestions, especially the way Alan rephrased it: it works much better than my clunky first attempt in the manual, that only included - and was not not very readable.

          Thanks.

          Alan KilbornA 1 Reply Last reply Reply Quote 2
          • Alan KilbornA
            Alan Kilborn @PeterJones
            last edited by Alan Kilborn

            @PeterJones

            Maybe my first-of-4 bullet points previously should be moved to be the last-of-4, and changed to:

            • To use any other literal character in a character class, just use it directly, i.e., no “escaping” needed

            Maybe it works well as a 2 column 4 row table, headers:

            • Character
            • To use it literally in a character class

            With those headers, the “cell contents” for column 2 could be appropriately shortened to remove redundant verbiage.

            1 Reply Last reply Reply Quote 1
            • guy038G
              guy038
              last edited by

              Hi, @peterjones,

              BTW, Peter, do you intend to include, in some way, the end part of this post, regarding the Free-space mode, which is in the Notes section ?

              https://community.notepad-plus-plus.org/post/81368


              Also, did you correctly receive, by e-mail, my attached text file, regarding the TextFX features ?

              Please, I do not want to stress you, unnecessarily ! Just go at your own pace !

              Best Regards

              guy038

              Alan KilbornA 1 Reply Last reply Reply Quote 1
              • Alan KilbornA
                Alan Kilborn @guy038
                last edited by

                @guy038 said in Using sets to find A-Za-z plus the # and - chars ..?:

                do you intend to include, in some way, the end part of this post, regarding the Free-space mode

                He already did, see HERE.

                Andrew McPA 1 Reply Last reply Reply Quote 1
                • Andrew McPA
                  Andrew McP @Alan Kilborn
                  last edited by

                  @Alan-Kilborn I really admire you guys for figuring out Regular Expressions; I bet you never get lost in real life when you can keep track of the patterns/positions so well, aka good spatial awareness :)

                  Oh and I like the trick of having - as last character before ]

                  Alan KilbornA 1 Reply Last reply Reply Quote 1
                  • Alan KilbornA
                    Alan Kilborn @Andrew McP
                    last edited by Alan Kilborn

                    @Andrew-McP said in Using sets to find A-Za-z plus the # and - chars ..?:

                    I really admire you guys for figuring out Regular Expressions

                    So if someone says they have “figured out regular expressions”, I pity them. Because it just means they are ripe for an upcoming whipping when a regex misunderstanding of theirs really embarrasses them. :-)

                    It pays to always be humble when discussing regular expressions with others. :-)

                    I bet you never get lost

                    GPS!

                    I like the trick of having - as last character before ]

                    Not so much a trick, as a logical place to put it when you realize that anywhere except the first or last position it must form some sort of “range”.

                    Andrew McPA 1 Reply Last reply Reply Quote 1
                    • Andrew McPA
                      Andrew McP @Alan Kilborn
                      last edited by

                      @Alan-Kilborn hahahah yes no way would I bet my house on any regular expression I recommend covering all, no matter how perverse, eventualities…

                      1 Reply Last reply Reply Quote 1
                      • guy038G
                        guy038
                        last edited by

                        Hello, @peterjones,

                        In my previous post, I forgot to mention the ^ character, which has a special meaning within a Character class !

                        So, here is an updated version of my previous post :

                        If we consider the following CHARACTER CLASS structure :
                        
                        [.......]
                        123456789
                        
                        The POSSIBLE location(s), in order to find the LITERAL character below, are :
                        
                        LITERAL Character [    :     POSSIBLE at any position, BETWEEN 2 to 8 
                                                     POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
                        							 
                        LITERAL Character ]    :     POSSIBLE at position 2 ONLY
                                                     POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
                        							 
                        LITERAL Character -    :     POSSIBLE at position 2
                                                     POSSIBLE at position 8
                                                     POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
                        
                        LITERAL character ^    :     POSSIBLE at any position, BETWEEN 3 and 8
                                                     POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
                        
                        							 
                        LITERAL Character \    :     POSSIBLE at any position, BETWEEN 2 to 8, if PRECEDED with an ANTI-SLASH character
                        

                        And I suppose that @alan-kilborn could add :

                        To use a “literal ^” in a character class: Use it directly like any other character, e.g. [ab^c], but right after the opening [ of the class notation ; “escaping” is not necessary (but is permissible), e.g. [ab\^c]

                        Best Regards,

                        guy038

                        1 Reply Last reply Reply Quote 2
                        • First post
                          Last post
                        The Community of users of the Notepad++ text editor.
                        Powered by NodeBB | Contributors