2017-12-07 1 views
-3

편집 : 그래서 분명히, 이것은 정규식에서 문자열 보간법입니다. 명확히 해 주셔서 감사합니다.정규식에서 입력 변수를 주입 할 수있는 방법이 있습니까?

omj라는 입력 함수가 있습니다. 내가 그것을 실행하면

omj 

, 내가 그때 내가 어떤, 원하는 것을 정확히을받은

re.findall("\w*obik\w*",dataframe) 

이 정규식 기능에 그 출력을 사용하는 나에게

"obik" 

을 제공합니다 답변

"Yaobikuni" 

"obik"는 단어에 해당하며 하나만 일치합니다. Yaobikuni를 직선적으로 얻으려면 정규식 함수에 입력 omj를 넣는 방법이 있습니까? 아니면 이것이 작동하는 유일한 방법입니까?

편집 : 사람들이 왜 하향 투표를하는지 이해할 수 없지만 omj가 대답을 제공하는 입력 문자열로 간주 될 수 있다고 분명히 생각했습니다.

omj = """obik""" 

EDIT2는 : 도움 @Nick 채프먼 주셔서 감사합니다. 나는 처음에 이것을 시도하고 나는 정규식 기능의 입력 omj을 주입 할 수 없었을 거라고 생각 :

re.findall("\w*"omj"\w*",dataframe) 
+1

이 매우 혼란이다. 입/출력/질문을 명확히 할 수 있습니까? 'omj' 란 무엇인가 : 그것은 함수인가 입력인가? – ctwheels

+0

@ctwheels : 그것은 입력이고, 그것을 실행할 때 출력물로 obik을 얻습니다. –

+0

그래서 입력이고'obik'의 출력을 얻는다면 그것은 함수입니까? 'omj === obik'은 어떻게됩니까? – ctwheels

답변

0

방금 ​​첫 번째 인수가

re.findall("\w*" + omj + "\w*",dataframe) 
+0

'omj() 뒤에 괄호가 없습니다. 'TypeError : 함수가 아니라 str이어야합니다. ' –

+0

'omj'는이 경우에는 함수이고, 문자열 일뿐입니다. –

1

할 수 없습니다 문자열 일 뿐이므로 실제 질문은 파이썬에서 문자열 보간법을 수행하는 방법입니다.

이 방법에 대해 :

re.findall("\w*{}\w*".format(omj()), dataframe) 
+0

첫 번째 편집에서 다시 설명 하겠지만 감사합니다. 이 기능은 작동합니다. –

관련 문제