Regex searches for maxed idols, and good uniques

I would like to have regex stash searches so I can filter and discard bad rolls on idols, and certain uniques:

I created this for finding minor idols with near maxed rolls, a similar search for low rolls could be used to leave only idols with near max lines:

/5%.*dodge/|/10%.*stun/|/2[3-5] ward gained/|/7% ward ret/|/10%.*find pot/|/5%.*armor/|/2% [^M].*penetration/|/12%.*resistance/|/6% Elemental Resistance/|/8% incr.*damage/|/2% endu/|/[3-4]% reduced bonus/|/1[4-8] Health$/|/mana regen/

here each part of the expression (above expressions finds all health because that’s what i needed at the time):

Stat Regex
Dodge rating /5%.*dodge/
Stun Immunity /10%.*stun/
Ward Gained on potion use, decay threshold /2[3-5] ward gained/
Ward retention /7% ward ret/
Find potions /10%.*find pot/
Increased armor /5%.*armor/
Penetration (avoid minion) /2% [^M].*penetration/
Resitance /12%.*resistance/
Elemental Resistance /6% Elemental Resistance/
Incr Damage (non-weaver) /8% incr.*damage/
Incr Mana regen /5%.*mana regen/
Health & Mana /1[4-8] Health$/
Endurance /2% endu/
Reduced Crit + Incr Crit Chance /[3-4]% reduced bonus/

I also created one for good lines on Seed of Ekkidrasil:
/ekkidrasil/&/(5([5-9])|(6)\d) mana/&/2[5-9]% of damage dealt/&/5\d% of endurance/&/[5-8]% chance/&/[7-8]% of maximum/

Are there resources, tools or other places where people have created searches for good rolled idols and uniques? The only place i currently know is https://www.lastepoch.re/ but it doesn’t work very well, many of its expressions are incorrect, and it doesn’t give me lines for uniques.

3 Likes

I would love a great resource for this.

I cannot wrap my head around the queries and the resource you posted is one I’ve tried again and again to help me understand it more but it never seems to work very well. I’m not a coder by any shake of the stick and constantly get lost trying to understand what words I’m supposed to use around what parameters.

1 Like

This would be completely unnecessary if the Filter would be updated with options to select the Item, Affix, etc. and the mods you wanted on them.

If I want to find an Eternal Gauntlets with Fire Damage, I don’t want to sift through all my Eternal Gauntlets which include Fire Damage, Elemental Damage, Fire Resistance, elemental Resistance, etc. I want to be able to find only what I’m looking for with a good filter search.

3 Likes

Caius: Skinner is a good resource to learn regex, but its hard with LE, because stuff that should match doesn’t always. For instance I have noticed implicit lines like ‘13 mana’ on items don’t match with /13 mana/ but need /13.*mana/, which is an LE bug which complicates life for newbies at regex.

If you want I can paste several of what I created here, but frankly I have to admit, it has taken quite a bit too long to create them, compared to just removing all non-weaver. I do find it quite useful for sacrifice and finding good vs low rolls on my uniques.

I could also add some info on what I learned didn’t work and what does work, if you want to learn to build simple queries


I just found this site which actually works but doesn’t help finding good rolls as I wanted:

https://checkmatez.github.io/eternity/search/

from https://www.youtube.com/watch?v=dXz6XwNs5iY

1 Like

Yo, man. This is very cool. Let me poke around with that new site you found before I come begging for more help. I’m glad to know it seems to be something weird with the tooltip coding and not my brain, there were so many times I was staring at something that did nothing and yet if you just changed the search word like “mana” to “health” it would work.

But does the .* symbolize some sort of any variable?

I’m a coder and I get lost trying to understand what each stuff means in regex. :laughing:

I’ve never bothered trying to actually learn it, though. I just have some general knowledge of the basics and I search for resources that will help me achieve the result I need (usually StackOverflow).

Both are regex “variables”/“commands”.
The “.” means any character that isn’t a line break.
The “*” is a quantifier, meaning zero or more times (if you use “+” instead, it means one or more times).
Both together means any character that isn’t a line break zero or more times until your next match.

That means that the whole thing would match “13 mana” as well as “13WHATEVERmana” and even “13mana”.

You can use the Regex Cheat Sheet to consult what each stuff does.

EDIT: I would venture a guess that it’s not matching the regex because the concatenation in this case isn’t using an ascii space? This should be a bug. If it matches on health (or another affix) it should also match on mana.

2 Likes

This thread reminds me that I wanted to get into Regex, and not the ‘I can search a single mana item out of the mess I have’ Regex but rather using it ‘properly’, full scale.

But well… all of that could’ve been entirely avoided anyway if we just had a proper search function rather then needing to fall back on Regex. And it’s also clear where it’s come from… namely PoE which included it first. ‘Oh, they got such a great search function!’… no they don’t, Regex is not a great search functionality. Having the option to search for things like in the bazaar is a decent start, and even there it’s falling short entirely since you cannot include multiples easily.

Personally I would enjoy a ‘proper’ search function which is actually user-friendly allowing things like ‘I want to have either the combination of ‘xyz’ or ‘zyx’ and 5 more variants displayed since all of them can provide me with a potential upgrade’ and the limit only being your personal knowledge of what exactly has a reasonable chance to provide a upgrade for you.

1 Like

The “easiest” solution would seem to be to make a stash filter, similar to the loot filter. You would use it in the same way, except it would apply to your stash, rather than drops.

3 Likes

This is the type of search capability I have been advocating for, where you can select the item you are looking for, then select the affixes you are looking for on that item. That would be just a start, but a great one.

2 Likes

Exactly!

Well, thank you, now I don’t feel quit as idiotic as I normally do staring at the Regex stuff. :wink:

And thanks for that cheat sheet. Now seeing it laid out like that this looks vaguely like some of the search stuff I worked a bit with in an old web coding program called BBEdit. I haven’t used that though in almost two decades.

3 Likes

Since there have been some interest, I’ll paste my notes, and we’ll see if any finds any value in them. I think regex search is awesome when I’m sacrificng 30-50 uniques. I just enter my search for ‘bad roll’, fill my inventory, close stash, using shift sacrifice all, so I get half of items back with new rolls, and move all back to inventory. Then I redo until no more matches for the search. I have to keep the search in my clip-board, because the stash search is wiped on each open, but it’s not really a problem.

Unfortunately Last Epoch search doesn’t understand negations and parentheses, so I have to create a max/good roll search, and a manually inverted low roll. But its easy enough, once I have a maxed roll that work. I use the max roll search when looking for gear to imprint, and the inverted low-roll search when looking for what to turtle/sacrifice.

I’m playing a Mana Flay Lich, so I have some uniques that CaptainNoobzor have demonstrated work awesomely.

---- My notes pasted in raw below - feel free to ignore or use as desired. I wrote them for myself, so take that as a fair warning when reading it.

General (notes on regex in last epoch, what works, what doesn't)
	• Length limit is 256 chars
	• $: Match end using $
	• Searches also matches description, avoid many undesired matches by using $
	• Ranges
		○ 60-69 mana: /5([5-9])|(6)\d) mana/
			§ ie 6\d works
		○ 55-69 mana: /5([5-9])|(6)\d) mana/
			§ 5([5-9] works and or-pipe works
	• Necrotic Damage - needs end-sign, because description of necrotic resistance (ALT) mentions Necrotic Damage
		○ /necrotic damage$/
	• Match any string or %
		○ /5%.*armor/
	• Negative class - to avoid minion penetration
		○ /2% [^M].*penetration/
	• Match digit with exact number of digits by 
		○ either prefix with \+ if there is a plus 
		○ or: (?<!\d) 
			§ this ensures previous character is not a digit
	• Last Epoch does not support outer parenthesis around regex like this, meaning we cannot do X&(Y|Z):
		Not Supported: (/a/&/b/)
	• \D
		○ Might be useful to match non-digit character, when LE implicit matches fail, such as on julra's stardail searching for '20 mana' which fails, but '20.*mana' works, '20\D.*mana' also works.

Codes
	• Affix counts
		○ Prefixes, prefixes2 (has 2 prefixes)
		○ Suffixes
		○ Affixes
		○ Sealed
		○ Experimental
		○ Personal
		○ SwapAttributes
	• Item Potential
		○ T6+, T6-, 2T6+, !T7+
		○ LP
		○ WW
		○ WT (enchantable idol) - same cemetary search
		○ FP (forge potential)
	• Item Types
		○ Set (grants set bonus)
		○ RealSet (is set item)
		○ ReforgedSet
		○ Experimentable (is boots/gloves/belt)
	• Item Requirements
		○ lvl
		○ CoF
		○ MG
		○ trade

Uniques with searches for min(sacrifice,turtle)/max rolls
	Executioner's Tithe
		Super Max Roll (weaver base)
			/Executioner's Tithe/&/grants 4%/&/4% crit/&/[3-4]% of your max/&/2[6-9]% of your/
		Max Roll
			lp0&/Executioner's Tithe/&/grants 4%/&/4% crit/
		Bad/Low roll - Non-Maxed Roll
			lp0&/Executioner's Tithe/&/grants [2-3]%|[2-3]% crit/
			
		The other mana's are fine, but hardly needed, and the implicit damage is completely irelevant as I don't do much melee damage
		
		Exalted
			t7&/spell necrotic damage/
		
	Traitor's tongue
		Max - Good Enough
			/traitor's tongue/&/13% critical/
			/traitor's tongue/&/2 to int|2 to dex/&/13% critical/
			/traitor's tongue/&/2 to int/&/13% critical/
			/traitor's tongue/&/2 to dex/&/2 to int/&/13% critical/&/[5-6]\d%.*Crit.* Mu/
		Maya Max
			/traitor's tongue/&/2 to dex/&/1[1-3]% critical/&/[5-6]\d%.*Crit.* Mu/
		Bad/Low roll - Non-Maxed Roll
			lp1&/traitor's tongue/&/1[0-2]% critical/
				
			lp1&/traitor's tongue/&/1[0-1]% critical/&!/2 to int|2 to dex/
				I rerolled these last meaning either 12-13% crit and not both 1 to skills
				extra
					/1 to int|1 to dex/
		Exalted dagger
			/dagger/&t7+&/melee necrot|increased melee attack speed/
			
	Army of Skin
		Max
			/army of skin/&/2[0-9]% increased movement/&/2[0-9]% increased melee attack speed/
				Movement speed and attack speed matter, both are in 13-26 range
			
			
	Immolator's Oblation
		Max roll
			/immola/&/([7-9]\d|100)% chance to ignite/
			/immola/&/1[0-6]% increased ignite duration/&/([7-9]\d|100)% chance to ignite/
				I think only chance to ignite matters, the increased duration is very little from 2.5 to 2.5*1.1=2.75 or 2.5*1.16=2.9 sec, which means mostly chance to apply stacks matter
		Decent
			/immola/&/([6-9]\d|100)% chance to ignite/
		Bad/Low roll - Non-Maxed Roll
			lp0&/immola/&/([4-6]\d)% chance to ignite/
			
	Seed of Ekkidrasil
		Modifiers - Sorted by importance to Flay Mana Lich (as judged by me)
		(20% to 28%) of Damage Dealt to Mana Before Health
		(4% to 8%) of Maximum Health gained as Endurance Threshold
		(4% to 8%) chance to take 0 Damage when Hit
		+(40 to 64) Mana
		+(40 to 64) Health
		(40% to 56%) of Endurance applies to all damage dealt to mana
		(8% to 20%) increased Mana Regen
		
		match lines
			55-69 mana: /(5([5-9])|(6)\d) mana/
			25-28 of damage dealt: /2[5-9]% of damage dealt/
			50-56 of endurance: /5\d% of endurance/
			4-8% of maximum health gained as endurance threshold: /[7-8]% of maximum/
			5-8% chance: /[5-8]% chance/

		Total
			/ekkidrasil/&/(5([5-9])|(6)\d) mana/&/2[5-9]% of damage dealt/&/5\d% of endurance/&/[5-8]% chance/&/[7-8]% of maximum/
			
		
		Best ALL max damage avoidance, if no need to worry about mana
			/ekkidrasil/&/2[5-9]% of damage dealt/&/[7-8]% of maximum/&/[5-8]% chance/&/(5([0-9])|(6)\d) mana/
		Best Most
			/ekkidrasil/&/2[5-9]% of damage dealt/&/[7-8]% of maximum/&/[5-8]% chance/
		Best most important
			/ekkidrasil/&/2[5-9]% of damage dealt/&/[7-8]% of maximum/
		Good enough to nemesis
			lp0&/ekkidrasil/&/2[5-9]% of damage dealt/&/[6-8]% of maximum/
		Bad/Low roll
			Reroll these and then do nemesis (DOES NOT Work with parenthesis, so check for lp0)
				lp0&/ekkidrasil/&/2[0-4]% of damage dealt|[4-5]% of maximum/
				
			Other too stronger low roll filters
				lp0&/ekkidrasil/&/2[0-4]% of damage dealt|[4-5]% of maximum|[4-4]% chance/
				lp0&/ekkidrasil/&/2[0-4]% of damage dealt|[4-5]% of maximum|[4-4]% chance|4\d mana/
				lp0&/ekkidrasil/&/2[0-4]% of damage dealt|[4-5]% of maximum|[4-4]% chance|4\d (mana|health)/
	
	Nihilis
		Good enough to nemesis
			lp0&/nihilis/&/2 to all skills/
		
	
	Julra's Stardial
		High Roll
			§ lp0&/stardial/&/(6[0-9]|[6-7]\d)% incr.*spell damage/&/(1[0-9]|20)\D.*mana/
		Bad/Low roll - Non-Maxed Roll
			§ lp0&/stardial/&/([3-4]\d|5[0-0])% incr.*spell damage/&/1[0-5].*mana/
	
	Grasp of the Blood Mage
	Bad/Low roll
		lp0&/grasp of the blood/&/[2-3]% Spell Critical/
	
	Phantom Grip
	high
		/Phantom Grip/&/8% increased mana/&/2% crit/&/[4-5]\d%.*chance/
	low
		/8% increased mana/&/2% Crit/&/[2-4]% Minion Crit/&/[4-5]\d% incr.*chance/&/[1-2] to level/
			Ignores minion and level by setting full intervals
	
	Stormcarved reroll
		/stormcarved/&lp1+
		Bad/Low roll
			/stormc/&lp0&/([0-6]\d|7[0-5]) mana/
			
	Twisted heart
		Bad/Low roll
			/twisted/&/[5-7]% of current/
			
	Descent
		/descent/&lp0
		
	Null Portent
		lp0&/Null Portent/&/1[6-8]% increased health/

1 Like

Those are a lot of great examples. Should help me start to grasp all the syntax a lot better. Thank you for this.

1 Like