무회blog

파이썬 정규표현식 관련, 범위지정 삭제, 수정 본문

Python

파이썬 정규표현식 관련, 범위지정 삭제, 수정

최무회 2020. 6. 24. 19:32
text = """
[서울=뉴시스]김태년 민주당 원내대표는 24일 오전 국회에서 열린 소재·부품·장비 산업 현안점검회의에서 "법원이 전범기업에 대한 국내자산 매각 절차를 감행하면서 일본이 두 자릿수 추가 보복조치를 예고한 상태"라면서 "지금부터 가능한 시나리오를 검토하고 가능한 방안을 미리 만들어야 한다.가가가'소부장 전략 2'를 추진하겠다"고 말했다.그는 그간의 일본수출규제 대응 성과와 관련해선 "불화수소 등 수출 규제 품목에 대해선 수입 다변화를 이뤄냈고 소부장 산업정책을 체계적으로 마련해왔다"고 평가했다.aaa그러면서 "'포스트 코로나 대응을 위해서도 더욱 속도감있게 정책을 추진해야한다"면서 "바이오, 미래차 등 신산업이 발전하려면 소부장이 뒷받침돼야 한다. '한국판 뉴딜'을 위해서라도 필수적"이라고 강조했다.AAA조정식 민주당 정책위의장은 "20년 만에 전면 개정된 소부장 특별법을 차질없이 시행했고 올해 2조6000억원의 예산을 투입하고 있다"면서 "올해부터 소부장 정책이 본격 추진되는 만큼 민주당은 소부장 경쟁력 강화를 적극 진행하겠다"고 말했다"이어 "산업통상자원부는 특정국가 의존도 완화를 위한 기술자립, 첨단산업화를 해주시고 과학기술정보통신부는 소부장 연구개발(R&D) 고도화 대책을 마련해주시길 바란다"면서 "중소벤처기업부는 인력양성과 일본의 추가 보복조치시 중소기업의 피해를 최소화하기 위한 대책을 빈틈없이 마련해주시길 바란다"고 당부했다.123
"""
특수문자 범위 지정하여 삭제하거나 수정 
string = 'text [text] text (text) text'
regex = re.compile('\(.+?\)')                # 괄호 () 이내 모든 문자 삭제 
regex = re.compile('\[.+?\]')                # 대괄호 [] 이내 모든 문자 삭제 
output = regex.sub('', string)

output = re.sub('\[.+?\]','', string)         # 대괄호 [] 이내 모든 문자 삭제 
output = re.sub('\[.+?\]','블라블라블라', string)         # 대괄호 [] 이내 모든 문자 수정하기 

print(output)

 

한글 정규식 처리 
def resultReturn(text):
    hangul = re.compile('[가-힣]+\.')    # 한글로 포함되다 .   마지막글자  .(점)도 포함
    
    result = hangul.findall(text) # 정규식에 일치되는 부분을 리스트 형태로 저장, 단어 반환 
    result = list(set(result))    
    for x in result:
#         text = text.replace(x, x + ' \n')
        text = text.replace(x, x + ' ')          # 모든 해당 하는 내용을 .점 띄어쓰기 로 변환
    return text 
    
    
    resultReturn(text)

 

texts = """[서울=뉴시스]김태년 민주당 원내대표는 24일 오전 국회에서 열린 소재·부품·장비 산업 현안점검회의에서 
"법원이 전범기업에 대한 국내자산 매각 절차를 감행하면서 일본이 두 자릿수 추가 보복조치를 예고한 상태"라면서 
"지금부터 가능한 시나리오를 검토하고 가능한 방안을 미리 만들어야 한다.가가가'소부장 전략 2'를 추진하겠다"고 말했다.하하하하하
그는 그간의 일본수출규제 대응 성과와 관련해선 "불화수소 등 수출 규제 품목에 대해선 수입 다변화를 이뤄냈고 소부장 
산업정책을 체계적으로 마련해왔다"고 평가했다.aaa그러면서 "'포스트 코로나 대응을 위해서도 더욱 속도감있게 정책을 추진해야한다"면서 
"바이오, 미래차 등 신산업이 발전하려면 소부장이 뒷받침돼야 한다. '한국판 뉴딜'을 위해서라도 필수적"이라고 강조했다.AAA조정식 
민주당 정책위의장은 "20년 만에 전면 개정된 소부장 특별법을 차질없이 시행했고 올해 2조6000억원의 예산을 투입하고 있다"면서 
"올해부터 소부장 정책이 본격 추진되는 만큼 민주당은 소부장 경쟁력 강화를 적극 진행하겠다"고 말했다"이어 
"산업통상자원부는 특정국가 의존도 완화를 위한 기술자립, 첨단산업화를 해주시고 과학기술정보통신부는 소부장 연구개발(R&D) 
고도화 대책을 마련해주시길 바란다"면서 "중소벤처기업부는 인력양성과 일본의 추가 보복조치시 중소기업의 피해를 최소화하기 위한 
대책을 빈틈없이 마련해주시길 바란다"고 당부했다.123
"""

def resultReturn(text):
    hangul_path9 = '[가-힣]+\.'                  # 한글로 포함되다 . 
    
    hangul_path0 = '[가-힣]+\.[가-힣]{1}'        # 한글 . + 한글 처리 
    hangul_path1 = '[가-힣]+\.[\d]{1}'           # 한글 . + 숫자 처리 [0-9]
    
    hangul_path2 = '[가-힣]+\.[a-z]{1}'          # 한글 . + 영어 소문자 
    hangul_path3 = '[가-힣]+\.[A-Z]{1}'          # 한글 . + 영어 대문자 
    
    hangul_path4 = '[가-힣]+\.[\S]{1}'           # 한글 . + 비공백 [^ \t\n\r\f\v]와 같다.    
    hangul_path5 = '[가-힣]+\.[\s]{1}'           # 한글 . + 공백 [ \t\n\r\f\v]와 같다.
    
    hangul_path6 = '[가-힣]+\.[\W]{1}'           # 한글 . + 숫자 + 문자가 아닌 것 [^a-zA-Z0-9]와 같다.
    hangul_path7 = '[가-힣]+\.[\w]{1}'           # 한글 . + 숫자 + 문자 [a-zA-Z0-9]와 같다.
    hangul_path8 = '[가-힣]+\.[\b]{1}'           # 한글 . + 단어 경계 (`\w`와 `\W`의 경계)
    
#     reg_path = hangul_path1 + '|' + hangul_path2
#     reg_path = hangul_path0 + '|' + hangul_path1 + '|'+ hangul_path2
#     reg_path = hangul_path0 + '|' + hangul_path1 + '|'+ hangul_path2 + '|'+ hangul_path3 + '|'+ hangul_path4
    reg_path = hangul_path0 + '|' + hangul_path1 + '|'+ hangul_path2 + '|'+ hangul_path3 + '|'+ hangul_path4+ '|'+ hangul_path5
    
    hangul = re.compile(reg_path)              # 한글 + 모모로 포함되다 . 
    
    result = hangul.findall(text)                                                   # 정규식에 일치되는 부분을 리스트 형태로 저장, 단어 반환 
    result = list(set(result))    
    for x in result:
        text = text.replace(x, x[:-1] + ' \n' + x[-1:])
#         text = text.replace(x, x[:-1] + ' __-->>' + x[-1:])
    
    return text 
    text = re.sub('\[.+?\]','', text)         # 대괄호 [] 이내 모든 문자 삭제 
resultReturn(texts)
# resultReturn(test_gg())
Comments