Wiktor Stribiżew의 제안을 통해이 문제를 해결했습니다.파이썬 정규 표현식 문자
편집 : 그 번호에 다른 작업을 수행해야하기 때문에 목록의 첫 번째 요소 만 추출하면됩니다. 테스트 용으로 코드에 루프를 사용합니다.
산술 표현식을 숫자 목록으로 분할하려고합니다. 예를 들어
: 1 + 0.2 (3^4) * 5 -> [ '1', '0.2', '3', '4', '5']
내가 재 라이브러리를 사용 파이썬에서는 표현식이 도트 문자 '.'로 분리됩니다. 나는 '을 포함하지 않지만.' delimers에서. 입력 1 + 0.2 때
즉, 출력 될 것이다 '1', '0'은 '2']해야는 [ '1', '0.2']는
코드는 수있는 아래 :
#!/bin/python
import re
delims = re.compile(r"[+-/*///^)]")
while True:
string = input()
res = list()
i = 0
while i < len(string):
if string[i] >= '0' and string[i] <= '9':
num_str = delims.split(string[i:], 1)[0]
res.append(num_str)
i += len(num_str) - 1
i += 1
print(res)
정말이 질문에 감사드립니다!
'-'는 범위를 만들거나 이스케이프하거나 char 클래스의 끝/처음으로 이동하고'[- +/* ^)] '를 사용합니다 –
[Here] (http://stackoverflow.com/questions)/32324595/error-in-regex-to-catch-special-characters/32324646 # 32324646) 비슷한 질문입니다. –
고마워요! 당신은 훌륭합니다! –