Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: pepazdepa 07. 07. 2011, 10:54:44
-
zdar,
lamu si hlavu na timto... nejak nechapu funkci te tecky :/
$ echo "c1111jfljdlfja" | sed -re 's/([0-9.]+).*/\1/'
c1111
$ echo "1111aaa-jfljdlfja" | sed -re 's/([0-9.]+).*/\1/'
1111
-
Within POSIX bracket expressions, the dot character matches a literal dot. For example, a.c matches "abc", etc., but [a.c] matches only "a", ".", or "c".
Zdroj: http://en.wikipedia.org/wiki/Regular_expression
A protoze se to tak chova i v realu, tak bych tomu i veril.
-
echo "c1.111jfljdlfja" | sed -re 's/([0-9.]+).*/\1/'
c1.111
-
Within POSIX bracket expressions, the dot character matches a literal dot. For example, a.c matches "abc", etc., but [a.c] matches only "a", ".", or "c".
Zdroj: http://en.wikipedia.org/wiki/Regular_expression
A protoze se to tak chova i v realu, tak bych tomu i veril.
Ale v ramci mnoziny moznych znaku to nema tenhle specialni vyznam, ale jako normalni tecka.
-
Within POSIX bracket expressions, the dot character matches a literal dot. For example, a.c matches "abc", etc., but [a.c] matches only "a", ".", or "c".
Zdroj: http://en.wikipedia.org/wiki/Regular_expression
A protoze se to tak chova i v realu, tak bych tomu i veril.
Ale v ramci mnoziny moznych znaku to nema tenhle specialni vyznam, ale jako normalni tecka.
Jo sorry, to tam je taky, sem si nevsiml. ;)
-
$ echo "c1111jfljdlfja" | sed -re 's/([0-9.]+).*/\1/'
c1111
Normalni tecka, nikoliv cokoliv, aby to matchlo aj desetinou tecku. Neboli ten vyraz zameni prvni vyskyt cisla o minimalne jednom znaku 0-9 nebo '.' (cokoliv z toho) plus k tomu vsechny nasledujici znaky za tu prvni cast. Proto tam zustava na zacatku to 'c', protoze to neni soucasti matche, a proto to nevstupuje do substituce
$ echo "1111aaa-jfljdlfja" | sed -re 's/([0-9.]+).*/\1/'
1111
Tady akorat neni tecka k matchnuti.