• Login
Community
  • Login

RegEx Help with Backreference I think

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
58 Posts 4 Posters 9.6k 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.
  • R
    Robert Or Janet Diebel @guy038
    last edited by Robert Or Janet Diebel Apr 10, 2025, 6:28 PM Apr 10, 2025, 5:25 PM

    @guy038 Thanx for responding.
    If I run the MACRO to change \c & \v with a number and a word (\toc2 1 Samwele) it fails.
    If I remove the number (\toc2 Samwele) it works. The number and {space} cause failure.
    Could the RegEx be altered to allow the number and {space}?

    1 Reply Last reply Reply Quote 0
    • R
      Robert Or Janet Diebel @guy038
      last edited by Apr 10, 2025, 6:45 PM

      This post is deleted!
      1 Reply Last reply Reply Quote 0
      • R
        Robert Or Janet Diebel @guy038
        last edited by Apr 10, 2025, 6:46 PM

        @guy038 The MACRO reverses line order.
        I can maybe get the changes done with a number of simpler RegEx’s run after the fact, but I would prefer it totally automated if possible.
        Another alternative is to separate the Numbered books and have a separate RegEx to run against them that would allow a number and {space}

        1 Reply Last reply Reply Quote 0
        • G
          guy038
          last edited by guy038 Apr 11, 2025, 4:33 AM Apr 11, 2025, 4:32 AM

          Hi , @robert-or-janet-diebel,

          Oh… How silly I am ! You’re perfectly right. At first sight, I do not remark this important line, beginning your BookAndVerse macro :

                      <Action type="2" message="0" wParam="42083" lParam="0" sParam="" />
          

          So, instead of using the ^\u[\u\l -]+ part, for the name, we can use, either, the regexes :

          • ^\w[\w'’ -]+

          or

          • ^[[:alnum:]][[:alnum:]'’ -]+ IF no LOW LINE character ( \x{005F} ) occurs in the name

          Within these two regexes, I also added the two apostrophe syntaxes ['’]. If you do not need them, don’t add them in the character class !

          So, given this example, below :

          My very-Best-Novel
          1 Samwele
          5 L'été de tous les dangers
          5 L’été de tous les dangers
          1_ te_ST
          
          • The first regex ^\w[\w'’ -]+ would match the five lines above

          • The second regex ^[[:alnum:]][[:alnum:]'’ -]+ would match the first four lines, only


          Thus, If we take the general case, you must change, in your Step 2, the search regex as below :

          • FIND (?-is)\\v (?=(?s:.+?^(\w[\w'’ -]+ \d+$)))

          Best Regards,

          guy038

          R 4 Replies Last reply Apr 11, 2025, 10:44 AM Reply Quote 0
          • R
            Robert Or Janet Diebel @guy038
            last edited by Robert Or Janet Diebel Apr 11, 2025, 10:47 AM Apr 11, 2025, 10:44 AM

            @guy038 I am so very thankful for your help.
            Sorry I forgot to point out the line order reversal.
            I will give it a try!
            All the best to you and yours.

            1 Reply Last reply Reply Quote 0
            • R
              Robert Or Janet Diebel @guy038
              last edited by Apr 11, 2025, 12:31 PM

              @guy038 That is working great! I am so thankful!
              Dare I mention my last failing MACRO that should change the {space} after the Book-Chapter:verse to a TAB?
              Same issue, it works if there is no number.
              I will try to figure it out, but if you have any guidance, it would be appreciated.

                      <Macro name="Space2Tab" Ctrl="no" Alt="no" Shift="no" Key="0">
                          <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                          <Action type="3" message="1601" wParam="0" lParam="0" sParam="^(\w+\s\d+:\d+)\s(.*)$" />
                          <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                          <Action type="3" message="1602" wParam="0" lParam="0" sParam="$1\t$2" />
                          <Action type="3" message="1702" wParam="0" lParam="512" sParam="" />
                          <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                      </Macro>
              
              
              1 Reply Last reply Reply Quote 0
              • R
                Robert Or Janet Diebel @guy038
                last edited by Apr 11, 2025, 12:52 PM

                @guy038 Got my space-to-tab working.
                Thanx for all your help!

                1 Reply Last reply Reply Quote 0
                • R
                  Robert Or Janet Diebel @guy038
                  last edited by Apr 11, 2025, 1:07 PM

                  @guy038 Spoke too soon. Got it to change numbered book, then failed on non-numbered.
                  I am still working on it.

                  1 Reply Last reply Reply Quote 0
                  • G
                    guy038
                    last edited by Apr 11, 2025, 1:38 PM

                    Hello, @robert-or-janet-diebel,

                    I suppose that the following regex S/R should work :

                    • FIND ^([\w ]+\x20\d+:\d+)\x20

                    • REPLACE $1\t

                    Best Regards,

                    guy038

                    R 2 Replies Last reply Apr 11, 2025, 1:50 PM Reply Quote 0
                    • R
                      Robert Or Janet Diebel @guy038
                      last edited by Apr 11, 2025, 1:50 PM

                      @guy038 This works on numbered, but not unnumbered.
                      Here is what I tried.

                      ^(\d+?\s?\w+\s\d+:\d+)\s(.*)$
                      

                      It worked on numbered, but not unnumbered
                      I thought the “?” would make it optional.

                      1 Reply Last reply Reply Quote 0
                      • R
                        Robert Or Janet Diebel @guy038
                        last edited by Apr 11, 2025, 1:51 PM

                        @guy038 Sorry, that does work. I somehow slipped in a space before the RegEx in the MACRO

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