• Search syntax help: keyword found, but also need data two lines down

    2
    0 Votes
    2 Posts
    303 Views
    PeterJonesP

    @Mike-P,

    Currently, I’m using this search string

    (?-s)^W.*?\K(\t)255(\t)RH_ANG

    Which gives this partially useful result

    W 29-Sep-20 09:01:48 255 RH_ANG <I>RH diagnostic info </I> W 29-Sep-20 12:56:12 255 RH_ANG <I>RH diagnostic info </I> W 29-Sep-20 13:56:35 255 RH_ANG <I>RH diagnostic info </I>

    Actually, that search just finds the TAB then 255 then TAB then RH_ANG. You must be doing something else/more if you were able to filter down to the “partially useful result”

    After data - the search results that I’d like to see is this:

    W 29-Sep-20 12:56:12 255 RH_ANG <I>RH diagnostic info </I> Text: (29.09.2020 12:56:13) [00453]0100: GP 120cm -67C -34R 0A 545ST 0[%] 320F 750fr no3d 1#1

    I would do it in two steps.

    To match the W line and those following, and only extract the W line then skip one then the Text line, I would do something like:
    FIND = (?-s)^(W.*?\t255\tRH_ANG.*\R).*\R(.*\R)
    REPLACE = $1$2
    SEARCH MODE = regular expression
    Fewer details than my previous explanation (you can follow the link in the previous discussion to the User Manual Regex section for exact details on each symbol): The first (...) puts the first W line (including newline) into group #1 the .*\R matches one entire line – so this is the one between the W line and the next line` the (.*\R) matches one entire line (including newline) and puts it in group #2 – this will be the second line after the W line the replacement just uses group#1 and group#2, so the first and third lines if you don’t have a newline after your last Text: line, it won’t match properly; always make sure you have a blank line at the end of files when doing complex regex with \R markers in your search. If you also want to delete any of the groups that don’t start with ^E (which your “after” example implies), I would do a second replacement:
    FIND = (?-s)^E(.*?\R)+?\R
    REPLACE = (empty field)
    SEARCH MODE = regular expression The ^E says that the first part of the match must be an E at the beginning of the line (.*?\R) will match the rest of the line, including newlin modifiying it with +? means it will match multiple lines (since the E is not inside the () group, the +? doesn’t modify that part, so only the first line needs to start with E), but non-greedily, so it will stop at the first instance of whatever comes next the last \R means it will stop the match on a blank line after the N lines that matched above. Since the previous modifier was non-greedy, it will start at the first blank line it encounters after an E-prefixed line. replacing with nothing effectively deletes that block so this will delete the E groups without deleting the W groups

    With the data you gave, I ended up with the following, after running both those steps

    W 29-Sep-20 09:01:48 255 RH_ANG <I>RH diagnostic info </I> Text: Backlog (31.12.2009 18:01:11) [00001]Read T0=0 W 29-Sep-20 12:56:12 255 RH_ANG <I>RH diagnostic info </I> Text: (29.09.2020 12:56:13) [00453]0100: GP 120cm -67C -34R 0A 545ST 0[%] 320F 750fr no3d 1#1 W 29-Sep-20 13:56:35 255 RH_ANG <I>RH diagnostic info </I> Text: (29.09.2020 13:56:36) [00001]sequence no send: 0, received: 0, state of device: 3

    Please note: while we in the forum will help people get started with regex, having one user ask a whole bunch of regex questions gets rather uninteresting to us. Since you are at least putting in an effort, showing input and desired data, and the steps you tried, you’re likely to get more help than the lazy posters… but if that’s all you ever ask, we’ll get tired, because we aren’t really a “help me with my regex” forum. As I put it for people who are pushing that limit or beyond:

    Please note: This Community Forum is not a data transformation service; you should not expect to be able to always say “I have data like X and want it to look like Y” and have us do all the work for you. If you are new to the Forum, and new to regular expressions, we will often give help on the first one or two data-transformation questions, especially if they are well-asked and you show a willingness to learn; and we will point you to the documentation where you can learn how to do the data transformations for yourself in the future. But if you repeatedly ask us to do your work for you, you will find that the patience of usually-helpful Community members wears thin. The best way to learn regular expressions is by experimenting with them yourself, and getting a feel for how they work; having us spoon-feed you the answers without you putting in the effort doesn’t help you in the long term and is uninteresting and annoying for us.

  • Clickable Link (file://) problem

    8
    0 Votes
    8 Posts
    659 Views
    rthxR

    The problem is solved - thanks to all who responded!

    Especially the tip from @PeterJones and @Coises has brought me closer to the solution, I now knew where to look.

    It was actually registry entries (from “Open Command Prompt here” Context Menu), which I have been using since Windows 7 (without the problem). And since it was so handy, of course I used that on all my systems.

    That’s where Win10 behaves differently than Win7.

    Source: Enhancing the “Open Command Prompt here” Context Menu experience

    After removing these registry entries the problem is solved.

  • Contextual search syntax

    3
    0 Votes
    3 Posts
    491 Views
    Mike PM

    @PeterJones Thank you so much Peter, that was exactly what I was looking for!! And your detailed explanation helped me understand it too!

  • Need Help to replace a text by finding other text as keyword

    4
    0 Votes
    4 Posts
    234 Views
    Mark OlsonM

    All of the above solutions are good, but they are not necessarily very robust to reformatting of the document, which appears to be YAML.

    Normally this is where I’d recommend a plugin or a PythonScript solution for working with YAML, but I don’t know of any plugins, and Python’s YAML package is not in the Python standard library, so using PythonScript for YAML isn’t a great option.

    Having said that, my general suggestion for performing these kinds of manipulations on YAML documents is to learn a scripting language (I recommend Python) and using that to write normal Python scripts. If you end up going that route, this forum will cease to be a useful resource and StackOverflow becomes one of your best friends.

  • Search results lost in offline screen

    Locked
    2
    0 Votes
    2 Posts
    212 Views
    Alan KilbornA

    @Arne-Everhard

    Please don’t create duplicate threads; ref. HERE.

    Moderator: Please lock THIS thread.

  • помогите

    3
    0 Votes
    3 Posts
    687 Views
    Mark OlsonM

    Eclipse and IntelliJ IDEA are both fine ways to inspect the contents of a .jar file. I don’t know of any others though, and in any case such discussion is outside the scope of this forum.

  • Search and replace question

    3
    2 Votes
    3 Posts
    298 Views
    Tom DirksT

    @PeterJones That worked! Thank you very much.

  • How to change color of letters of highlighted text?

    11
    0 Votes
    11 Posts
    8k Views
    fdsafds fdsafdsaF

    Settings>Style Configurator>Selected Text color

  • scroll horizontally

    6
    0 Votes
    6 Posts
    3k Views
    DomOBUD

    @PeterJones
    Thank you for your answer.
    There’s enough text to be scrolled and the View > Word Wrap is off (automatic line feedback is not activated).
    However, I don’t have the horizontal scrollbar available at the bottom of the window like on your screenshot. Perhaps there’s another parameter to consider.

    @guy038
    Thank you for your answer.
    Your solution works correctly.

    My mouse supports horizontal scrolling. It is another solution but less natural for me.
    The horizontal scrolling is a usual way on many Windows software.

  • "Edit in Notepad++" in context menu not working

    2
    0 Votes
    2 Posts
    654 Views
    HakivakatyroH

    Solved the problem by returning Windows to its original state with the removal of programs

  • Open Notepad++ in Different Workspace Without Switching

    2
    0 Votes
    2 Posts
    569 Views
    wonkawillyW

    Probably you need to play a bit with
    Menu Settings > Preferences > Multi-Instance & Date > Multi-instance settings
    and see the option that best fits your needs.

    Screenshot follows:

    47e4f287-5320-464d-b73e-2c2592a08b44-image.png

  • plugin that support auto-numbering

    23
    0 Votes
    23 Posts
    5k Views
    BobbstermanB

    Tiny improvement (IMO) for bullet list: now it only copies spaces, no punctuation:

    from Npp import editor, SCINTILLANOTIFICATION import re class NA(object): def __init__(self): self.eol = ['\r\n', '\r', '\n'][editor.getEOLMode()] editor.callback(self.callback_sci_CHARADDED, [SCINTILLANOTIFICATION.CHARADDED]) def callback_sci_CHARADDED(self, args): if chr(args['ch']) == self.eol[-1]: caret_pos = editor.getCurrentPos() curr_line_num = editor.lineFromPosition(caret_pos) if curr_line_num > 0: prev_line = editor.getLine(curr_line_num - 1) m = re.match(r'\s*(\d+)([^\w\r\n]+)', prev_line) if m: full = str(m.group(1)) + str(m.group(2)) full_prev = prev_line.rstrip('\r\n') if (len(full_prev) > len(full)): # if m: prev_number = int(m.group(1)) symbols_after = m.group(2) new_number = prev_number + 1 text_to_insert = str(new_number) + symbols_after editor.insertText(caret_pos, text_to_insert) new_caret_pos = caret_pos + len(text_to_insert) editor.setEmptySelection(new_caret_pos) return m = re.match(r'\s*(\+)([\s*]+)', prev_line) if m: full = str(m.group(1)) + str(m.group(2)) full_prev = prev_line.rstrip('\r\n') if (len(full_prev) > len(full)): # if m: bullet = m.group(1) symbols_after = m.group(2) text_to_insert = bullet + symbols_after editor.insertText(caret_pos, text_to_insert) new_caret_pos = caret_pos + len(text_to_insert) editor.setEmptySelection(new_caret_pos) return if __name__ == '__main__': try: na except NameError: na = NA()
  • Error on type anything

    Locked
    12
    0 Votes
    12 Posts
    2k Views
    PeterJonesP

    @Mark-Olson said in Error on type anything:

    @Tebi-Sa
    I’m getting ChatGPT vibes from your answer. Strongly suggest not using AI tools to answer questions in this forum

    It’s not just a strong suggestion: it is one of the rules of the forum:

    To maintain a high quality of posts, accounts which post spam and accounts which post significant technical nonsense may be banned, at the moderators’/administrators’ discretion. (Being wrong is not grounds for banning; but persisting in posting misleading or confusingly-wrong posts, or persisting in using Generative AI (like ChatGPT) or similar programs to create posts, is grounds for banning.) - https://community.notepad-plus-plus.org/topic/21965/please-read-this-before-posting
  • Copy Link in Caret /w Ctrl+P (LuaScript)

    11
    0 Votes
    11 Posts
    620 Views
    guy038G

    Hi, @mpheath and All,

    I confirm that the command npp.AddShortcut(... works ONLY when appended to startup.lua and do not work in a separate Lua file !

    And, this time, after restarting N++, the new options Copy this link Ctrl+Alt+2 and Copy this link Ctrl+Alt+3 were present in the Lua sub-menu and did the job, correctly

    Finally, as this command is already included in the contextMenu.xml, I suppose that any script, whatever it is, that mimics the Copy link function, seems useless !

    Again, thank you very much, @mpheath, for your support !

    Best Regards,

    guy038

  • Please recommend encryption plug-in

    3
    0 Votes
    3 Posts
    1k Views
    Tony FT

    @PeterJones thanks v much

  • Issues with Vertical Edge Setting + User Defined Language

    2
    0 Votes
    2 Posts
    204 Views
    ?

    Edit: I fixed this, in case anyone has any issues with it later. I just had to uncheck global font size.

  • Notepad++, windows 11 and pythonscript

    9
    0 Votes
    9 Posts
    617 Views
    ThosRTannerT

    @Ekopalypse working great now. thank you!

  • Line select problem

    9
    0 Votes
    9 Posts
    2k Views
    PeterJonesP

    @Michael-Lander said in Line select problem:

    @guy038 this is great! I cannot, however, find any shortcuts.xml to drop them into.

    %AppData%\Notepad++\shortcuts.xml

    See FAQ

  • How do I copy my settings to a new computer

    4
    0 Votes
    4 Posts
    997 Views
    Mark OlsonM

    @ThosRTanner
    Should be the contents of the %Program Files%\Notepad++\plugins folder.

    Note that most plugins have a bunch of app data in %Appdata% as well, which will be copied along with everything else if you do as PeterJones directed.

  • append data before and after text

    5
    0 Votes
    5 Posts
    267 Views
    namx3249N

    yes, i know ffmpeg but already tried for strange site and does not work
    because from m3u8 to this site only segments are present but missing the full link (first) and token at the end (see my first post above), so ffmpeg don’t have link for its download