정규식. TransformationalGrammar에서 RegularGrammar에 해당된다.

[[Perl]]에서의 지원이 강력하다. [[Grep]], [[Awg]]에도 유용히 쓰인다. [[Python]]에서는 re라는 built-in module에서 지원한다. 본 BioinfoWiki에서도 각종 매크로를 활용한 검색시 활용할 수 있다. (See also HelpOnMacros)

쉘에서 파일 및 디렉토리에 대한 WildCard도 유사하다.

== RE syntax ==
|| '''syntax''' || '''meaning''' ||
|| . || any character ||
|| ^ || start of string ||
|| $ || end of string ||
|| R* || zero or more of R ||
|| R+ || one or more of R ||
|| R? || zero or one of R ||
|| R{m,n} || from m to n repetitions of R ||
|| {{{[]}}} || character set ||
|| R|R || alternative ||

== RE special sequences ==
||'''sequence'''||'''meaning'''||'''same'''||
|| {{{\num}}}||text of group num||.||
|| {{{\A}}} || only at the start of string || . ||
|| {{{\b}}} || empty string at word boundaries || . ||
|| {{{\B}}} || empty string not at word boundary || . ||
|| {{{\d}}} || any decimal digit || {{{[0-9]}}} ||
|| {{{\D}}} || any non-decimal digit || {{{[^0-9]}}} ||
|| {{{\s}}} || any whitespace character || {{{[ \t\n\r\f\v]}}} ||
|| {{{\S}}} || any nonwhitespace character || {{{[^ \t\n\r\f\v]}}} ||
|| {{{\w}}} || any alphanumeric character || {{{[a-zA-Z0-9_]}}} ||
|| {{{\W}}} || any non-alphanumeric character || {{{[^a-zA-Z0-9_]}}} ||

----
한글 RegularExpression이 될까? 함 해봤다.
{{{#!python
>>> hs = (u"경기도", u"안양시", u"운봉읍")
>>> import re
>>> si = re.compile(u".*시$")
>>> for h in hs:
...     result = si.search(h)
...     if result: print result.group()
... 
안양시
>>> 
}}}

된다!! 하지만, "ㄱ"으로 시작한다 던가등 초성, 중성, 종성으로 쪼개는 검색은 안된다. 그런것들은 PythonAndHangul 참고. ㅡ.ㅡ; --[yong27/2007-09]

----
참고자료
 * [[http://people.linuxkorea.co.kr/~yong/python/docs/regex/|Python RegularExpression]] : BryanLee씨의 자료
 * [[PyKUG:TddRegularExpression]] : [[Python]]으로 RegularExpression을 TestDrivenDevelopment로 구현하기
 * [[NoSmoke:정규식]]
 * [[Moa:PythonReModule]]
 * [[PythonRegularExpressionExample.py]]