python regex cheatsheet

Cheatsheet for python regex

Regex module

re 모듈이 정규식을 지원한다.

match

re.match() 함수는 주어진 패턴을 문자열의 시작지점부터 적용하여 매칭되는 결과가 있으면 match 객체를, 그렇지 않은 경우 None을 리턴한다.

> re.match(r'\d', 'a1c2')
==> None
> re.match(r'a', 'a1c2')
<_sre.SRE_Match object at 0x028543A0>

python regex cheatsheet 더보기

vim의 정규식 기호와 very magic 모드

vim의 문자열 검색, 치환 기능은 패턴 매칭에 의한 것이며, 이 패턴 매칭은 정규식에 기반을 두고 있다. 그런데 정규식 문법을 조금 알고 있는 상태에서 vim의 정규식을 사용하면 깊은 빡침을 느끼거나 심한 멀미를 겪을 수 있다. 왜냐하면 정규식은 딱히 하나의 정해진 표준도 없거니와 기능과 편의를 위해서 여러 갈래로 나뉘어져 있고 vim에서는 상황에 따라서 서로 다른 기준을 사용해서 패턴을 파싱하기 때문이다. 예를 하나 들어보자.

(this)isnot{this}nor[this]

이런 문자열이 있다고 할 때, 괄호들을 포함한 this를 검색, 즉 (this), {this}, [this]를 검색하려면 다음의 패턴을 사용한다. vim의 정규식 기호와 very magic 모드 더보기

[Python | Javascript] URI로부터 파일이름 구하기

자바스크립트와 파이썬 버전의 함수.

function getFilename(url)
{
	var pattern = /(^.*\/)([^&#?]*)/;
	var m = url.match(pattern);
	var filename = m[2];
	return filename;
}

 

import re

def getFilenameFromURL(url):
    pattern = "(^.*/)([^&#?]*)"
    c = re.compile(pattern)
    r = c.findall(url)
    return r[1]