Ked testujem regex v bash alebo cez program expr match, dostavam nejake divne vysledky. Netestuje to podla mna, ci sa to zhoduje, ale vyhladava to regex v stringu podobne ako to robi program grep. Je toto spravne spravanie? Je mozne ze tomu spravne nerozumiem. Ako otestujem 100% match s regexom?
bash
[[ helloworld =~ ^hell.* ]] && echo 'true' || echo 'false' #true podla mna
true
[[ helloworld =~ hell ]] && echo 'true' || echo 'false' #false podla mna
true
[[ helloworld =~ ell ]] && echo 'true' || echo 'false' #false podla mna
true
expr match
expr match helloworld '^hell.*' > /dev/null && echo 'true' || echo 'false' #true podla mna
true
expr match helloworld 'hell' > /dev/null && echo 'true' || echo 'false' #false podla mna
true
expr match helloworld 'ell' > /dev/null && echo 'true' || echo 'false' #false podla mna
false
Je pre mna divne, ze v pripade tretieho vzoru 'ell' sa nastroje spravaju odlisne.