Tcl은 강력한 정규표현을 지원하고 있습니다. 정규표현을 사용할 수 있는 커맨드는 아래와 같습니다.
커맨드 설명
| 커맨드 | 설명 |
|---|---|
| regexp | 문자열의 매칭(regexp 스타일) |
| regsub | 문자열의 치환(regexp 스타일) |
| lsearch -regexp, -glob | 리스트의 검색(regexp 또는 glob스타일) |
| switch -regexp, -glob | 문자열의 비교(regexp또는 glob 스타일) |
| string match | 문자열의 패턴 매치(glob스타일) |
| text의 search -regexp | 텍스트의 검색(regexp스타일) |
| glob | 파일명의 패턴매치(glob스타일) |
정규표현에는, glob 스타일과 regexp 스타일이 있습니다. 커맨드에 의해서 어느 쪽의 스타일을 사용하는지가 정해집니다. 양자의 차이는 아래와 같으며, glob 스타일은 비교적 심플합니다.
glob 스타일
| 표현식 | 설명 |
|---|---|
| ? | 1문자에 매치 |
| * | 0문자 이상의 문자에 매치 |
| ?chars | chars의 문자에 매치. ?a-z등이 사용됨 |
| \x | 문자 x에 매치 |
| {a,b,...} | a,b등의 문자열에 매치 |
| ~ | 플랫폼 디렉토리의 패스 |
regexp 스타일
| 표현식 | 설명 |
|---|---|
| * | 0문자 이상의 문자에 매치 |
| + | 1문자 이상에 매치 |
| ? | 0또는 1문자에 매치 |
| . | 1문자에 매치 |
| ^ | 행의 선두에 매치 |
| $ | 행의 마지막에 매치 |
| ?chars | chars의 문자에 매치. ?a-z등이 사용됨 |
| \x | 문자 x에 매치 |
| {a,b,...} | a,b등 문자열에 매치 |
| exp1 | exp2 | 부분 선택 패턴 |
그외 생략...
