( Zahy | 2023. 04. 12., sze – 23:11 )

Ez pontosan az a pattern, amit írtam. Mi sem bizonyítja jobban, mint a legutolsó ág * mintája. Regexp esetén ugyanis a * előtt kell valaminek állnia, és a * előtt álló "izé" 0, 1, 2, vagy többszöri előfordulását jelenti. Pl: [a-z]* - tetszőleges számú (0 is lehet) kisbetű. [0-9]* - számjegyek sorozata. Míg a patternként a * önmagában azt jelenti, hogy bármilyen hosszúságban bármi. Ha azt írom a*b, akkor ha ez regexp, akkor 0 vagy több kis a, amit egy db. kis b követ, azaz extrém esetben : b, vagy ab, aab, aaab, ...., aaaaaaaab. De az aaaaabbbb -ből csak az első b-ig jelenti a mintát. (*) Ha ugyanez patternként van értve, akkor kis a és kis b, amik között BÁRMI lehet: ab, aXb, aaaaaaXYZ123456b, sőt aaaabbbbbbbb, és az összes b-t is jelenti.

Azt elismerem, hogy kurva zavaró, hogy a [...] és a * mind pattern-ben, mind regexp-ben szerepelhet, de nem egészen ugyanazt jelentik. Shell-ben (és a fájlnév megadás utáni leggyakoribb előfordulás a "case" parancs) patterneket lehet használni. Egy csomó egyéb szoftvernél meg regexpeket - amik teljesen másként működnek.

(*) a linuxos grep-nél ugye van, hogy színekkel kiemeli, hogy mi az, amire a minta (regexp) illeszkedik. Így lehet ellenőrizni ezt, amit mondtam az aaabbbb és az a*b kapcsán.