Community
    • Login

    Want to delete everything like [xxx] including []

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    14 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.
    • Scott SumnerS
      Scott Sumner @David Chiu
      last edited by

      @David-Chiu

      In asking a question here, you have to be careful to provide enough information to receive good help. @guy038 's solution works for your original data and not for your new example data because he was mislead by contraints on the context that were untrue.

      That being said, modifying his “Find what” regex to \x20[\d+] will likely work for your new data (as well as the old). The translation into English of this regex is (loosely): find a space followed by a left bracket followed by an integer number (of one or more digits) followed by a right bracket. Replacing this with nothing deletes what was matched with the find.

      1 Reply Last reply Reply Quote 0
      • David ChiuD
        David Chiu
        last edited by

        Thanks Scott. Will provide more precise and enough information next time.

        All is well now. Thank you all !

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

          Hi David,

          Ah, yes ! I supposed that the reference always ends your text. Moreover, I was mistaken about my previous regex. The correct syntax should have been, as below :

          \x20\[\d+\](?=\.?$)

          • First, this regex looked for a space character, of Unicode code-point U+0032 ( = \x20, in hexadecimal ) Of course, I could have shortened it to a simple space character ( " " ), but it’s not easy to show that blank character, in posts !

          • Then, it searched for an opening square bracket, \[. As it’s a special regex character, it must be escaped with an anti-slash, \, in order to be taken, literally

          • After, it looked for a NON-empty range of digits \d+, as the + sign is a quantifier, which means from 1 to n times ( whatever n ), the previous element \d

          • Then it searched for an ending square bracket \], with the same remark as for the [ symbol

          • Finally, the overall match is true ONLY IF the condition (?=\.?$), called a positive look-ahead, is true. That condition means that, after the ending square bracket, the end of line $ must be reached, eventually preceded by a literal dot character, \.? ( Note that ? is also a quantifier, which means 0 or 1 time, the preceding element \.. Indeed, I thought that the ending dot could be absent from some of your lines !

          Of course, if we decide not to be so restrictive, the correct search regex is, simply :

          \[\d+\] , with a SPACE character, before the first antislash symbol

          Cheers,

          guy038

          P.S.,

          If you’re a newby, about regular expressions concept and syntax, begin with that article, in N++ Wiki :

          http://docs.notepad-plus-plus.org/index.php/Regular_Expressions

          In addition, you’ll find good documentation, about the new Boost C++ Regex library, v1.55.0 ( similar to the PERL Regular Common Expressions, v1.48.0 ), used by Notepad++, since its 6.0 version, at the TWO addresses below :

          http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html

          http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html

          • The FIRST link explains the syntax, of regular expressions, in the SEARCH part

          • The SECOND link explains the syntax, of regular expressions, in the REPLACEMENT part


          You may, also, look for valuable informations, on the sites, below :

          http://www.regular-expressions.info

          http://www.rexegg.com

          http://perldoc.perl.org/perlre.html

          1 Reply Last reply Reply Quote 0
          • David ChiuD
            David Chiu
            last edited by

            Hi Guy038,

            Thank you for your detailed explanation and I have visited some of your mentioned website. As I am a newbie, I do need some time.

            The

            \ [ \ d + \ ]

            (Sorry I have to break the above code by space and if not, it does not show properly. I don’t know how to do like yours in coloured background.)

            This works most closely for me, but then I noted some reference is like this [11,13] and [14-16]. And this expression dose not work for these reference quote.

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

              I, too, do not know how @guy038 obtains the red text in the light-red background here in this forum Community, but I would like to know how to do it myself!

              @David-Chiu , you can match your new text with a regular expression of the form:

              \x20\[\d+([,-]\d+)?\]
              

              I suppose the next question will be something about how to do [11,12,13] but here is where the learning part comes in! Read about regular expressions on the reference sites @guy038 mentioned, and practice!

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

                Hi, David and Alan,

                See, below, the different ways to get emphasis and blocks of code :

                *section in italic*                 =>        section in italic
                **section in bold**             =>         section in bold
                `section of code`                 =>       section of code

                *section`of code` in italic*       =>      section of code in italic
                **section`of code` in bold**    =>      section of code in bold

                ....This text needs to be
                ....indented with four spaces
                ....characters and preceded with
                ....a blank line, in order to be
                ....seen as a block of code

                =>

                This text needs to be
                indented with FOUR spaces
                characters and preceded with
                a BLANK line,  in order to be
                seen as a BLOCK of CODE
                

                For full documentation, about Markdown syntax, refer to the link below :

                http://daringfireball.net/projects/markdown/syntax

                And, for emphasis consult the section :

                http://daringfireball.net/projects/markdown/syntax#em


                David, I succeeded to find out the right regex, in order to match the eight the references, below :

                References [3] and [123] and [11,13] and [14-16]
                
                References [10,14-16] and [3-15,20-42] and [3,8,12,17] and [1-3,12-18,20-30,43,57,60-70]
                

                So :

                SEARCH \x20\[(,?\d+(-\d+)?)+\]

                REPLACE EMPTY

                Note : I suppose that there is NOT any space character, inside the square brackets area !


                Alan, thanks for helping David, with your regex \x20\[\d+([,-]\d+)?\]. Indeed, it matches the first four examples of reference, above :-) So, it should be OK for David ! However, it fails to match the last four types of reference. But, certainly, David doesn’t need these complicated references, anyway !

                Cheers,

                guy038

                Alan KilbornA 1 Reply Last reply Reply Quote 3
                • David ChiuD
                  David Chiu
                  last edited by

                  Hi Guy and Alan,

                  Thank you for your kind help. It is also easier to learn by studying your suggestion along with the web link reference.

                  \[(,?\d+(-\d+)?)+\] is the final one I needed as I noted there is not always a space in front of the reference quote. so I have to omit \x20

                  Thank you very much again.

                  Cheers
                  David

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

                    @guy038

                    Thanks for the information on how to format posts here on this website. One thing I didn’t see in the documentation is how to separate normal text (not in a codeblock) with some extra whitespace. For example, if I want to put extra spaces between “a” and “b” here:

                    a b

                    So when I typed that line above I put a gob of spaces between the a and the b. But the preview pane (and when I submit the post, I imagine) simply shows “a b”…single space between. Is this type of extra whitespacing possible with some extra markup/markdown syntax?

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

                      Hello Alan,

                      To write consecutive spaces, in normal text of posts, on NodeBB N++ forum, I replace the common SPACE character ( \x{0020} ) by the NO-BREAK SPACE character ( \x{00A0} )

                      To write this character, at the current cursor location, TWO solutions :

                      • Select the menu option Edit > Character Panel and double-click on the line, of decimal value 160

                      • Hold down the ALT key and hit, successively, on the four NUMPAD keys 0, 1, 6 and 0, before releasing the ALT key

                      Remark :

                      • As browsers don’t use, generally, monospaced fonts, the physical size of a “space” character family, is smaller than a letter or digit size ! Roughly, you need three consecutive “space” characters to get the same width than a word character !

                      An example :

                      TEST about the NodeBB displaying of the NO-BREAK SPACE character ( \x00A0 )

                      12345678901234567890 = A line with digits, without any SPACE character

                      12 45 78 01 34 67 90 = The same line, where six digits, have been replaced by a single SPACE character => Line shorter than the first one

                      12 45 78 01 34 67 90 = The same line, where six digits, have been replaced by three SPACE characters => Identical to the previous one

                      12   45   78   01   34   67   90 = The same line, where six digits, have been replaced by three NO-BREAK SPACE characters

                      => This time, total spacing seem to be kept !

                      Best Regards,

                      guy038

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

                        Hello Mr. Guy,

                        I think I see what you mean, although at first I didn’t. I was trying to type a literal \ followed by x followed by { … followed by } in the box I type in to make a post on this website. But…that didn’t work correctly in the Preview area.

                        Then it dawned on me that if I type my posting in Notepad++ FIRST (using the Character Panel method), then copy and paste it to the website, it works to make wide         open        spaces!

                        Thank you for your help.
                        AK

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