#python #regex
#python #регулярное выражение
Вопрос:
У меня есть строка
number234-456-132
abc235-456-456
bhjklsds:456-133-456
Я хочу разделить строки как
number 234-456-132
abc 235-456-456
bhjklsds: 456-133-456
В тексте, к которому присоединяется число, нет шаблона.
Комментарии:
1. разделяется при появлении
digit
или:
2. Это строка? список строк? …
3. Список строк
4. Разделить на
(?<=[a-z])W*(?=d)
?
Ответ №1:
попробуйте это регулярное выражение —> '([^0-9]*)(.*)'
>>> import re
>>> def foo(text):
... result = re.search('([^0-9]*)(.*)', text)
... return " ".join(result.groups())
...
>>> foo("number234-456-132")
'number 234-456-132'
>>> foo("abc235-456-456")
'abc 235-456-456'
>>> foo("bhjklsds:456-133-456")
'bhjklsds: 456-133-456'
>>>
Ответ №2:
Я бы попытался явно сопоставить три группы цифр в конце и включить что-нибудь еще в первую строку:
for string in strings:
match = re.match("(.*)(d{3}-d{3}-d{3})$", string)
print([match[1], match[2]])