Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame] | 1 | VAR='[[:alpha:]]' |
| 2 | |
| 3 | [[ $VAR =~ '[[:alpha:]]' ]] && echo match 1 |
| 4 | |
| 5 | [[ a =~ '[[:alpha:]]' ]] || echo match 2 |
| 6 | |
| 7 | [[ a =~ [[:alpha:]] ]] && echo match 3 |
| 8 | |
| 9 | [[ a =~ $VAR ]] && echo match 4 |
| 10 | |
| 11 | [[ a =~ "$VAR" ]] || echo match 5 |
| 12 | |
| 13 | line=aab |
| 14 | [[ $line =~ [[:space:]]*(a)?b ]] && echo match 6 |
| 15 | |
| 16 | V="alphabet" |
| 17 | [[ $V == alphabet ]] && echo yes 1 |
| 18 | [[ $V == "alphabet" ]] && echo yes 2 |
| 19 | [[ $V == 'alphabet' ]] && echo yes 3 |
| 20 | [[ $V =~ alphabet ]] && echo yes 4 |
| 21 | [[ $V =~ "alphabet" ]] && echo yes 5 |
| 22 | [[ $V =~ 'alphabet' ]] && echo yes 6 |
| 23 | |
| 24 | DOG="Dog name - 01 - Wiggles" |
| 25 | REPAT='([[:alpha:][:blank:]]*)- ([[:digit:]]*) - (.*)$' |
| 26 | if [[ $DOG =~ ([[:alpha:][:blank:]]*)-\ ([[:digit:]]*)\ -\ (.*)$ ]] |
| 27 | then |
| 28 | echo Dog ${BASH_REMATCH[2]} is ${BASH_REMATCH[3]} |
| 29 | fi |
| 30 | if [[ $DOG =~ $REPAT ]] |
| 31 | then |
| 32 | echo Dog ${BASH_REMATCH[2]} is ${BASH_REMATCH[3]} |
| 33 | fi |
| 34 | |
| 35 | [[ $REPAT =~ "$REPAT" ]] && echo rematch 1 |
| 36 | |
| 37 | v="one two buckle my shoe" |
| 38 | [[ ${v} =~ "one two" ]] && echo matches 7 |
| 39 | |
| 40 | [[ ${v} =~ (one two) ]] && echo matches 8 |
| 41 | |
| 42 | [[ ${v} =~ one\ two ]] && echo matches 9 |
| 43 | |
| 44 | unset pattern string |
| 45 | pattern="xxx.yyy" |
| 46 | string=xxxAyyy |
| 47 | |
| 48 | [[ $string =~ $pattern ]] && echo unquoted matches |
| 49 | [[ $string =~ "$pattern" ]] && echo quoted matches |
| 50 | |
| 51 | # problems in pre-patched bash-4.2 |
| 52 | [[ "helloworld" =~ llo ]] && echo match control-a 1 |
| 53 | [[ "helloworld" =~ world ]] && echo match control-a 2 |
| 54 | [[ "helloworld" =~ world$ ]] && echo match control-a 3 |
| 55 | [[ "helloworld" =~ ]] && echo match control-a 4 |
| 56 | [[ "helloworld" =~ oworld$ ]] && echo match control-a 5 |