누군가가 내가 펄을 사용하여 파이썬으로 변환 한 것을 도와 줄 수 있는지 궁금하고, 대부분 그것을 좋아한다. 그러나 나는 파이썬에서 정규 표현식과 싸우기 때문에 이것은 어쨌든 perl만큼 강하거나 쉽지는 않다. 제외 값 목록 (exemptions_list)을 사용하여 for 루프에서 반복되는 다른 목록을 검색하려면 어떻게합니까? 문제는 for 루프의 값이 검색 면제와 약간 다릅니다.문자열을 사용한 Python 정규식 문제
즉 면제 중 하나는 "default"문자열이지만 검색 대상 변수는 default_10 또는 default_20입니다. 마찬가지로 검색 패턴도 없지만 공유는 none_20 등으로 불립니다. 검색 패턴을 반복하고 싶지는 않습니다. 이미 다른 하위 프로세스 출력에서 나온 공유를 반복합니다. 따라서 기본적으로 문자열이 default가 아닌 default_20을 찾지 않습니다. shared_list에서 들어오는 변수를 어떻게 분해하여 python이 변수의 기본값을 사용하여 exemptions_list의 문자열을 다시 검색 할 수 있습니까? 공유 변수는 다른 시스템 서브 프로세스 출력에 대해 다르게 생성 된 것으로 설명됩니다.
많은 감사합니다.
Perl에서 쉽습니다.
if ($share =~ /^.*_[\d\d]/ && $share !~ /$cust_id|$exemptions/) {
파이썬 : 문자열에서
exemption_list = "none temp swap container"
shares_list [' this is dynamic and comes in with values such as none_20 temp_20, testtmp etc ]'
def process_share_information(shares_list, customer_id):
for share in shares_list:
share_match = re.search(share, exemption_list)
if not share_match:
print 'we have found a potentially bad share not in exemptions'
주고주십시오 [최소, 실행 가능한, 완전한 예] (https://stackoverflow.com/help/mcve) 모든 질문 스택 오버플로. 그대로 서면 코드가 실행되지 않습니다. –
코드가 실행되면 매우 도움이되는지 확실하지 않은 이유는 무엇입니까? 정규식에 대한 약간의 도움이 필요한 개인 코드의 페이지를 게시하지 않을 것입니다. – Stu
@Stu : 케빈이 의미하는 바는 당신의 코드가 유효한 파이썬이 아니라는 것입니다. 구문 오류가 있습니다. – SiHa