내가 특정 단어 뒤에 추출물 문자열이 곳에서 텍스트의 몇 가지있다하지만 난 string.Please 앞에는 특수 문자 (이것은 어떤 특수 문자가 될 수 있습니다) 문제에 직면하고 올바른 결과를 얻을 내 정규식 수정 :
여기에 붙여 넣은 텍스트 샘플 샘플 1 :
"customer no �123456"
샘플 2 :
"customer id %9999999"
샘플 3 :
"customer id 12121212"
샘플 4 :
"customer id @134563"
위 텍스트 샘플의 다음 출력을 원합니다.
샘플 1 출력 :
"123456"
샘플 2 출력 :
"9999999"
샘플 3 출력 :
"12121212"
샘플 4 출력 :
"134563"
잘못된 출력을 제공하는 데 사용한 정규식 :
r'\bcustomer\s(?:id|no)\s+(\w+)'
적절한 출력을 얻으려면 정규식을 수정하도록 도와주세요.
을 (를) 사용 \W
하여 단어가 아닌 문자 (대부분 문자, 숫자 또는 밑줄 이외의 문자)와 일치 시킬 수 있습니다 .
r'\bcustomer\s(?:id|no)\W+(\w+)'
참고 항목 정규식 데모
세부
\b
-단어 경계customer
-문자열\s
-공백 ( 하나 이상의 공백 문자와 일치하도록 +
뒤에 추가 \s
)(?:id|no)
- id
또는 no
하위 문자열\W+
-단어 문자 이외의 하나 이상의 문자 (문자 / 숫자 / 밑줄)(\w+)
-그룹 1 : 하나 이상의 단어 문자.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다