Portál AbcLinuxu, 8. května 2025 06:41

Dotaz: Pomoc s regularnim vyrazem

24.8.2009 06:42 kerberos
Pomoc s regularnim vyrazem
Přečteno: 369×
Odpovědět | Admin

Dobry den,

,mohl by mi nekdo pomoci s regulernim vyrazem jenz by souhlasil s nasledujicim nazvem souboru.

32145-4.txt

tj. 5 cislic, pomlcka, 1-2 cislice, .txt ?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.8.2009 08:08 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
Odpovědět | | Sbalit | Link | Blokovat | Admin
tj. 5 cislic, pomlcka, 1-2 cislice, .txt ?
^[0-9]{5}-[0-9]{1,2}\.txt$
A podle použitého jazyka bude možná nutné escapovat složené závorky.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
24.8.2009 08:35 kerberos
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem

Diky. Tak sem si prave definitivne potvrdil ze v Poweshell-u regularni vyrazy nefunguji zcela korektne (ikdyz by podle manualu mely tak jak jste to napsal).

28.8.2009 13:26 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem

 Na zaklade coho si dosiel k takemu zaveru ? Len kvoli tebe som si nainstaloval pod widly Powershell a nevidim ziaden problem vo fcionalite regexov:

 

 

PS C:\test> $list = Get-ChildItem; $list

    Directory: Microsoft.PowerShell.Core\FileSystem::C:\test

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---         28.8.2009     13:05          8 12345-12.txt

-a---         28.8.2009     13:14         26 67890

-a---         28.8.2009     13:14         26 67890-34.txt


PS C:\test> $list = Get-ChildItem; $list -match "^\d{5}-\d{2}\.txt$"

    Directory: Microsoft.PowerShell.Core\FileSystem::C:\test

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---         28.8.2009     13:05          8 12345-12.txt

-a---         28.8.2009     13:14         26 67890-34.txt

PS C:\test>

 

28.8.2009 13:32 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem

 uups neskoro som si vsimol ze ma byt 1az2 cislice.. oprava:

 

PS C:\test> $list = Get-ChildItem; $list -match "^\d{5}-\d{1,2}\.txt$"

    Directory: Microsoft.PowerShell.Core\FileSystem::C:\test

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---         28.8.2009     13:05          8 12345-12.txt

-a---         28.8.2009     13:14         26 67890-34.txt

PS C:\test>

 

Samozrejme rovny vystup dava aj verzia cez zoznam znakov (tj. "^[0-9]{5}-[0-9]{1,2}\.txt$"):

 

 

29.8.2009 06:54 kerberos
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem

Je mi lito ale mne vas vyraz skutecne nic nevrati.

29.8.2009 11:20 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem

Odporucam pastnut sem vystupy prikazov:

$list = Get-ChildItem; $list

a

$list = Get-ChildItem; $list -match "^\d{5}-\d{1,2}\.txt$"
29.8.2009 13:22 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
Na tvrdou hlavu doporučuji místo diskuzí aviváž ;)
29.8.2009 13:23 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem
A na slabý zrak lupu, já četl "nevyvrátí" místo "nevrátí" tak jsem si říkal co chlap blbne :D Pardon O:-)
29.8.2009 15:01 kerberos
Rozbalit Rozbalit vše Re: Pomoc s regularnim vyrazem

Musim priznat ze vase konstrukce je spravna a muj usudek byl nespravny. Ja totiz pouzivam nasledujici styl zapisu

Get-ChildItem | Where-Object {$_.Name -match "^\d{5}-\d{2}\.txt$" }

ktery sem povazoval za ekvivaletni resp. mi vzdy fungoval spravne az na parametr -match

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.