Page 1 of 1

Regex issue (MultinameSearch)

Posted: Tue Apr 23, 2024 10:04 am
by Debugger
^(?!.*(filename1|filename2|filename300)$).*ArtistName.*\.mp3$

Entering a long regex can be cumbersome, especially when I have many file names to search. Is there any way to manage this process more efficiently?
And tell me what should be added to my regex so that it searches only in folders that contains at least the word e.g. "X:\172....." this works perfectly in MasterSeeker because I can enter "172" in "In Directory"

Re: Regex issue (MultinameSearch)

Posted: Tue Apr 23, 2024 10:19 am
by void
The $ in your regex search will not match anything.



Create the following bookmark:
Name: Insert multiline regex
Change the Search to: /replace-sel <REGEXREPLACE:clipboard:,"\n","|">

Set your search to:
regex:"^(?!.*()).*ArtistName.*\.mp3$"
Place your caret inside the ()
Select your filenames from a multiline text file.
Open your bookmark from above.


And tell me what should be added to my regex so that it searches only in folders that contains at least the word e.g. "X:\172....."
X:\172 regex:^(?!.*(filename1|filename2|filename300)).*ArtistName.*\.mp3$
-or-
path:172 regex:^(?!.*(filename1|filename2|filename300)).*ArtistName.*\.mp3$

Re: Regex issue (MultinameSearch)

Posted: Tue Apr 23, 2024 1:24 pm
by Debugger
If I have to perform operations in Everything (which I do not fully understand) then I already prefer to simple paste the text (as regex) in MasterSeeker so it is faster. What you have provided is certainly a valuable tutorial, but rather not for me such fun every time ((too many steps)).

Re: Regex issue (MultinameSearch)

Posted: Tue Apr 23, 2024 2:19 pm
by horst.epp
Debugger wrote: Tue Apr 23, 2024 1:24 pm If I have to perform operations in Everything (which I do not fully understand) then I already prefer to simple paste the text (as regex) in MasterSeeker so it is faster. What you have provided is certainly a valuable tutorial, but rather not for me such fun every time ((too many steps)).
It doesn't help to always compare things with Master Seeker,
which by the way can't beat Everything in functionality.

If you need some complicated search often, store it in a bookmark and/or filter.
Searching in indexed data by regex is always fast here.

Re: Regex issue (MultinameSearch)

Posted: Tue Apr 23, 2024 6:30 pm
by Debugger
But a super-fast search doesn't involve many steps, you just need to instantly combine the names in one or 2 steps, and then within seconds have the results in MasterSeeker, without having to add yet another command (typing) in Everything.
As simple as possible.

Script python:
import re

Code: Select all

import re

# Ścieżka do pliku z nazwami piosenek
file_path = 'nazwy_piosenek.txt'

# Otwórz plik i wczytaj nazwy piosenek
with open(file_path, 'r', encoding='utf-8') as file:
    file_names = [line.strip() for line in file if line.strip()]

# Połącz nazwy piosenek w regex
regex_pattern = "|".join(re.escape(name) for name in file_names)

# Utwórz finalne wyrażenie regularne
final_regex = f"^(?!.*({regex_pattern})$).*[b] ANY NAME ARTIST.[/b]*\.mp3$"

print(final_regex)

Step 1: Prepare the file names_songs.txt
Create a text file names_songs.txt and put all the song names in it, each on a new line:
XXXX

Step 2: Run the Python script
Run the following Python script in the folder where the file names_songs.txt is located:
XXXXX


Result
After running the above script, it will display the final regular expression that you can use to search for the corresponding files:
XXXX

But it's still a lot of steps with the script, don't want to play around in the text editor every time to create the necessary regex with names+one artist