xython_regex
jfinder(사용법) - Jfinder코드 vs re코드 비교 - 06
작성자
sjpark
작성일
2024-12-12 21:14
조회
23
jfinder(사용법) - Jfinder코드 vs re코드 비교
설명 | jfinder코드 | re코드 |
복잡한 생년월일 | ([0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[1,2][0-9]|3[0,1]))-[1-4][0-9]{6} | |
문자열에서 한글만 1개에서 20개 사이의 문장 추출 | [한글:1~20] | |
핸드폰번호 | [시작](010|019|011)-[숫자:4~4]-[숫자:4~4] | ^(010|019|011)-\d{4}-\d{4} |
숫자4개로시작하며-숫자1~2개-숫자1~2개로 끝난느것 찾기 | [시작][숫자:4~4]-[숫자:1~2]-[숫자:1~2][끝] | ^\d{4}-\d{1,2}-\d{1,2}$ |
공백이 1~3개있고 영어로된 1~10안의 문자를 찾는것 | [공백:1~3][영어:1~10]-[숫자:1~10][영어:0~10][공백:1~5] | |
1개이상의 공백 | [공백:2~10] | |
괄호안의 1~20개의 글자 | \([문자:1~20]\) | |
이메일주소 검사 | [시작][영어&한글&숫자:1~]([특수문자-+.:0~] [영어&숫자:1~])[0~]@[영어&숫자:1~][특수문자-.:0~] [영어&숫자:1~][특수문자.:1~][영어&숫자:1~]([특수문자-.:1~]
[영어&숫자:0~])[끝] |
|
(최소찾기)[영어:1~3]-[영어&숫자:1~8][영어&숫자.-:1~1] | ||
[영어&숫자._%+-:1~20]txt | ||
[숫자:0~3][0~1]-[0~1] [숫자:3~4]-[0~1][숫자:3~4] | ||
(최소찾기)[문자:0~]정수[문자:0~] | ||
시작부터 끝까지 영어 대문자로만 된 것 찾기 | [시작][영어대문자:1~][끝] | |
[시작][숫자:0~][숫자|[]\#$%:3~3]-[숫자:3~4]-[숫자:4~4][숫자|b:3~4]-[숫자:3~4]-[숫자:4~4]-[숫자:3~4]-숫자:4~4][끝] | ||
[영어: 1~3]-[숫자: 2~5][영어: 0~1][ /: 0~1][영어: 0~1] | ||
원하는 문장에서 100단위 이하의 숫자만 갖고오고싶을 때 | [숫자:1~3][not 숫자:1~1] | |
(대소문자무시)(여러줄)(개행문자포함)[시작](뒤에있음:aaa)abcd[숫자&한글:1~5][단어(rdf):1~2][끝] | ||
(최소찾기)(이름<name>[숫자&한글:1~5][단어(rdf):1~2])[끝] | ||
[숫자&한글:1~5][단어(rdf):1~2])[끝] | ||
[숫자:2~3]-[0~1][숫자:4~4]-[0~1][숫자:4~4] | ||
[영어:1~3]-[숫자:2~5][영어:0~1][/:0~1][영어:0~1] | ||
[숫자:2~3]-[0~1][숫자:4~4]-[0~1][숫자:4~4] | ||
[숫자&한글:1~5][단어(rdf):1~2])[끝] | ||
(이름<name>[숫자&한글:1~5])[단어(rdf):1~2][끝] | ||
핸드폰번호 찾기 | 01(0|6||7|8|9)[-:0~1][숫자:3~4][-:0~1][숫자:3~4] |
import jfinder
jf =jfinder.jfinder()
test_text = """abcdef라고 ABCDEF도 소문자와 대문자를 함께쓴 abcdEFG쓰고(괄호1)로 만들고나서 숫자를 123456하고 789로 써본다.
숫자로 만 된 010-일이삼사-5678을 가지고 (괄호안의 (괄호2))test해보려고 합니다
"""
#괄호안의 문자를 찾는것
#조건에 맞는것만 돌려줍니다
aa = "\( [문자:1~20] \) "
result = jf.run_search(aa, test_text)
print(result)
re_sql = jf.change_jfinder_regex(aa)
print("정규표현식 구문은 ==>", re_sql)
#조건에 맞는것의 위치까지 알려주는 것입니다
aa = "(최소찾기) \( [문자:1~20] \) "
result = jf.run_all(aa, test_text)
print(result)
re_sql = jf.change_jfinder_regex(aa)
print("정규표현식 구문은 ==>", re_sql)
#조건에 맞는 문자열을 바꾸는 것입니다
aa = "\( [문자:1~20] \) "
result = jf.run_replace(aa, test_text, "***문자열변경***")
print(result)
re_sql = jf.change_jfinder_regex(aa)
print("정규표현식 구문은 ==>", re_sql)
#사용하기 쉽게 만들기 위해, 문자수등의 제한은 없읍니다
result = jf.get_text_between_ab(test_text, "(", ")")
print(result)
re_sql = jf.change_jfinder_regex(aa)
print("정규표현식 구문은 ==>", re_sql)