나는이파이썬 정규식 지원
24 (prem)-42-48 (6 ext)
와 내가 그것을 밖으로 싶어처럼 보이는 문자열
['24 prem', '42', '48', '6 ext']
내가 이런 식으로 숫자를 얻을 수있다있다 :
import re
MyString = r'24 (prem)-42-48 (6 ext)'
Splits = re.findall(r'(\d+)', MyString) # ['24','42','48','6']
하지만 나는 딩 텍스트.
import re
MyString = r'24 (prem)-42-48 (6 ext)'
Splits = re.findall(r'[\\s:\\-]', MyString) # ['24 (prem)','42', '48 (6 ext)']
을하지만 그건 (6 ext)
항목이 골대를 벗어났습니다 :
나는 또한이 작업을 수행 할 수 있습니다. 보고 응답 후
편집 :
나는 아마 내가 번호를 분할 한 후 바로 "("와 ""문자를 제거하는 str.replace을 사용하는 것이 문제를 처리하는 가장 간단한 방법을 생각한다.
따라서, 다수의 첫 번째 문자 전에 문자열을 분할하는 간단한 정규식 문이있다?
결과를
'24 (prem)-42-48 (6 ext)'
, 당신은 regexps '에 필요하지 않는 결과를 얻을 수
['24 (prem)-','42-',48 (', '6 ext)]
그래서 * 패턴은 무엇입니까? 여기에 하나의 입력 + 예상 출력 줄을 입력했으나 입력 내용이 어떻게 달라질 수 있는지에 대해서는 설명하지 않았습니다. –
마지막 패턴도 유효하지 않습니다. 그 코드 행은'[ '-', '-']'를 생성하고 모든 역 슬래시, 콜론, 대시를 문자''s ''로 찾습니다. –
마지막으로, 샘플 출력은 a) 파이썬이 아니며, b) 정규 표현식으로는 불가능합니다. ''24 ','prem ','42 ','48 ','6 ext ']'는 가능하지만'24 prem''이 첫 번째 요소는 아닙니다. –