PSA -- Trade/Stash Filter is now RegEx, which lets us do really cool stuff.
My first example:
".-.-.-.-.-." find 6Ls only. There are nearly infinite possibilities now for filtering the trade market and your stash tabs and vendor inventories. Last edited by QQPQ on May 6, 2021, 7:09:16 PM Last bumped on Oct 5, 2024, 11:11:05 AM
| |
Can you ELI5 and give few other examples if possible please?
I'm not playing this league but this is interesting. Thanks. | |
" Uh... this is sort of like asking a physicist to ELI5 quantum tunneling or a mathematician to ELI5 DiffEQ. The actual ELI5 is "RegEx, short for 'Regular Expressions' is a way to search and filter text in a very flexible manner" or something like that. RegEx is used in many different computer programming languages (such as Perl, Python, and Ruby). You can use it to do nearly anything in relation to searching text. Emphasis on text. So, you can't use it to compare numbers, for example. But, here are some short example of what it *can* be used for in PoE: ".-.-.-.-." will find 5 or more linked sockets. "\+1.. to Maximum Life" will find items with 100 or more Maximum life in a single roll (up to 199). "\+4.% to Fire Resistance" will find items with 40 to 49 Fire Res. "\+[3-5].% to Fire Resistance" will find items with 30 to 59 Fire Res. You can string these together if you want: ".-.-.-.-." "\+1.. to Maximum Life" "\+[3-5].% to Fire Resistance" "\+[3-5].% to Cold Resistance" will find items with 5 or more linked sockets, and 100-199 Maximum life (in a single roll), and 30-59 Fire res, and 30-59 Cold res. Note that I'm spelling things out to make it clearer, but you only need enough characters to make it unique, so "\+[3-5].% to Fire R" is good enough. Let me break one of these down for you: "\+[3-5].% to Fire R" The quotes enclose an individual string we're looking for. Each mod or stat we want needs to be inside its own set of quotes. The / before + is because that is a special character, so if we want to actually match "+" we need "\+". [3-5] is a range for a single digit. You can do [0-9] to match any single digit. If you want to match multiple digits, you need to use several iterations of this. And some ranges are impossible. For example, 42-57 would be [4-5][0-9], which will match 40-59. If you did [4-5][2-7] That will miss 48, 49, 50, and 51. The . (dot) is any single character. [0-9] would be more technically here for matching the second digit, but the . is much shorter to type, and you'll never find an item with "+4Y to Fire Res", so the dot is fine. There are a bunch of sites for learning RegEx. This is the one I clicked on when I googled "Regex string builder": https://regexr.com/ I learned RegEx for work, but I haven't used it in a few years. Last edited by QQPQ on May 6, 2021, 9:13:50 PM
| |
QQPQ thank you very much for your posts.
UO Chessy - Ace - 1999-2019 Minax for life.
One man army, Atomic Godz, Yew gate large marble, Brit gate UO hybrid - a chia pet/a terrorist/Ace | |
"\+[7-9]. max life" "\+[3-9].% fire res" "\+[3-9].% cold res" "\+[2-9]. dex"
Is that right? 70-99 max life 30-99 fire/cold res 20-99 dex I placed 9s because it doens't matter unless we looking for a max right, min is important tho. Thanks again man you're the MVP around here, this regex thing can help a lot. | |
" Because we need exact string matching, you need "to maximum life" instead of "max life". And the "to"s on the others as well. Like this: "\+[7-9]. to maximum life" "\+[3-9].% to fire res" "\+[3-9].% to cold res" "\+[2-9]. to dex" If you're feeling lazy, you can leave off most of the plusses. "[7-9]. to maximum life" "[3-9].% to fire res" "[3-9].% to cold res" "[2-9]. to dex" This is because "70 to maximum life" will never appear in some other line, because of the "to". You *could* also leave of "ife". And the "es" in "res" "[7-9]. to maximum l" "[3-9]. to fire r" etc. Last edited by QQPQ on May 6, 2021, 10:54:16 PM
| |
Got it, thank you.
Nothing about regex on patch notes, and this is big lol. Last edited by kzl_91 on May 6, 2021, 11:12:59 PM
| |
Thanks for sharing.
|
|
Playing around with this, did anyone find a logical "or" operator yet? | doesn't seem to work.
€ nevermind, it does work, just requires some unintuitive syntax when used with phrases encapsulated in "" Last edited by Snarky85 on May 8, 2021, 11:09:41 AM
| |
Can we hide stuff? Please say yes! ;)
|
|