문자열 앞의 특수 문자를 무시하여 텍스트에서 적절한 문자열을 추출하는 방법은 무엇입니까?

Shyam

내가 특정 단어 뒤에 추출물 문자열이 곳에서 텍스트의 몇 가지있다하지만 난 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+)'

적절한 출력을 얻으려면 정규식을 수정하도록 도와주세요.

Wiktor Stribiżew

을 (를) 사용 \W하여 단어가 아닌 문자 (대부분 문자, 숫자 또는 밑줄 이외의 문자)와 일치 시킬 수 있습니다 .

r'\bcustomer\s(?:id|no)\W+(\w+)'

참고 항목 정규식 데모

세부

  • \b -단어 경계
  • customer -문자열
  • \s-공백 ( 하나 이상의 공백 문자와 일치하도록 +뒤에 추가 \s)
  • (?:id|no)- id또는 no하위 문자열
  • \W+ -단어 문자 이외의 하나 이상의 문자 (문자 / 숫자 / 밑줄)
  • (\w+) -그룹 1 : 하나 이상의 단어 문자.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관