2016-07-16 2 views
0

python에서 문자열 변수를 포함하는 정규식을 만들어 입력 된 문장에서 해당 문자열의 존재를 찾으려합니다.python에서 여러 변수를 사용하여 정규식을 만드는 방법은 무엇입니까?

예를 들어

:

입력 문장 :

In 2009, I was in Kerala. I love that place.

문자열 1 = I, 문자열 2 = 이었다

이 나에게 I가 들어있는 문장을 반환해야i 그 순서. 즉, 2009 년 나는 케 랄라에 있었는데이 반환되어야합니다. 문자열 1문자열 2 문장 어디서나 할 수 있지만 문자열 2 후에 만 ​​문자열 1을 제공한다.

이것은 내가 지금까지했던 것입니다 :

r'([ A-Za-z0-9]*)'+string1+'([^\.!?]*)'+string2+'([^\.!?]*[\.!?])' 

문제는 또한에서 에서 I을 감지합니다. 나는 그것을 원하지 않는다. 정확히 알고 싶습니다 String1String2.

누구나 어떻게 할 수 있습니까?

+0

'\ b's를 문자열 주위에 넣어보십시오. 예 : 'r '... \ b'+ string1 + r '\ b ... \ b'+ string2 + r '\ b ...' ' – smarx

+0

'\ b'는 "단어 경계"를 의미합니다. – smarx

답변

3

위의 의견에서 제안한 바를 토대로 문자열 주위에 \b을 추가하기 만하면됩니다. 있는 그대로 정규 표현식의 나머지 부분을 그대로 두었습니다.

r'([ A-Za-z0-9]*)\b{string1}\b([^\.!?]*)\b{string2}\b([^\.!?]*[\.!?])'.format(
    string1=string1, string2=string2) 
관련 문제