XXX="/blah1/blah2/blah3/1234567890;arg=AAA123BBB456CCC" # alphanumeric: ^^^^^^^^^^ # optional: ^^^^^^^^^^^^^^^^^^^^ # fixed string: ^^^^^ # alphanumeric: ^^^^^^^^^^^^^^^ echo "$XXX" | perl -n -e 'if (m[^/.+/([^/\?\s]+)(?:;arg=)?]) {print "$1\n";}' #### echo "$XXX" | perl -n -e 'if (m[^/.+/([^/\?\s;]+)(?:;arg=)?]) {print "$1\n";}' ^