15일차 # Meta Characters (Metasymbols)
* POSIX Operators ==> http://goo.gl/KevzQ
- POSIX Character Class ==> http://goo.gl/OSdcS
ex) [abcdefghijklmnopqrstuvwxyz] ==> [:lower:]
* PERL-Influenced Extensions to POSIX Standard ==> http://goo.gl/Avm1I
* Or operator: |
- 'ski|ull' = 'ski' or 'ull'
- 'sk(i|u)ll' = 'skill' or 'skull'
- 'ski|ull|ful' = 'ski' or 'ull' or 'ful'
- '^ski|ull$' = '^ski' or 'ull$'
* Matching Character List operator: [ ]
- all operators except these are treated as literals:
~ Range operator: -
~ POSIX character class: [: :]
~ POSIX collation element: [. .]
~ POSIX character equivalence class: [= =]
- '[a-d]' = IN ('a', 'b', 'c', 'd')
- '[skill]' = IN ('s', 'k', 'i', 'l')
- '[ski|ull]' = IN ('s', 'k', 'i', '|', 'u', 'l')
- '[[:alpha:]]' = all alphabetic characters
- '[^skill$]' = ???, 아래 NonMatching Character List operator 참조
* NonMatching Character List operator: [^ ]
- '[^a-d]' = NOT IN ('a', 'b', 'c', 'd')
- '[^skill$]' = NOT IN ('s', 'k', 'i', 'l', '$')
- '[^ski|ull$]' = NOT IN ('s', 'k', 'i', '|', 'u', 'l', '$')
- '[^sk(i|u)ll]'= all except for ...