2016-08-20 4 views
0

현재 음악 데이터베이스의 데이터를 구문 분석하는 프로젝트에서 작업 중이며 파이썬 (버전 3.5.1)의 정규식을 사용하여 검색 기능을 만들고 있습니다.정규식 : Python 3의 노래 이름 일치

정규 표현식을 만들어 이름 뒤에 문자가없는 노래와 기능 세부 정보가있는 노래를 만들려하지만 일치하는 노래의 이름에 주어진 노래의 이름이 들어있는 노래는 아닙니다 (예는 요점을 설명하는 데 도움이 될 수 있음) :

나는 일치하고 싶습니다 무엇 :

어떤 것 (피트 드레이크를.) 일치하고 싶지 : '? + w /일 (\ S (\)/'

  1. 일이
  2. 운동은

내 현재 정규 표현식하지만이 모든 4 예제의 경우 일치 .

누군가이 문제를 해결하기 위해 표현을 알아낼 수 있습니까?

+0

'Work \ b (?: \ (? ft \. \ w + \)와 같은)? $? –

답변

1

개인적으로, 나는 당신이 제공하는 테스트 케이스를 일치하는

^Work(?:\s+\(.+\))?$ 

같은 것을 함께 가고 싶어요,하지만 두 사람은 당신이 피하고 싶은. 당신은이 있지만, 작가가 매칭에 대한보다 구체적인, 여전히 이가지 경우를 일치 어떤

^Work(?:\s+\((?:ft.|featuring).+\))?$ 

같은 것을 함께 갈 수 있지만 "로 시작하는 괄호 안에 물건을 일치 확인하려면 피트. " 또는 "특징".

+0

완벽 도와 줘서 고마워! 저는 정규 표현식으로 작업을 시작했습니다 :) – CodingDancer

+0

@ CodeDancer : 답변이 도움이되거나 문제를 해결하는 경우, 일반적으로 왼쪽에있는 작은 체크 표시 아이콘을 사용하여 답변으로 표시하는 것이 좋습니다. 그렇게하면 다른 사람들도 비슷한 문제를 겪을 수 있습니다. –

+0

조언을 주셔서 감사합니다. 오버플로 스택을 새로 도입했습니다 :) – CodingDancer