Мне нужна помощь в создании выражения регулярного выражения для Python, чтобы добавить пробел между датами или неполнымиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Мне нужна помощь в создании выражения регулярного выражения для Python, чтобы добавить пробел между датами или неполными

Сообщение Anonymous »

Я анализирую строки, содержащие строки даты на «естественном языке», с некоторыми ограничениями на язык.
Я очень близок к ответу, но не могу понять как обработать последний сценарий, не нарушая его.
Так, например, разрешены такие строки:
  • ' ca.1830.01.01/ca1833.02.06'
  • 'ca.183u-01-01/ca.183X-uu-06'
  • ' ca1830.01.uu/ca183u.02.06'
  • 'ca.1830/ca183u.02.06'
  • 'ca.1830-01/ca183u. 02.06'
мой код замены выглядит так:

Код: Выделить всё

newstr = re.sub(r"([0-9uxUX]+([,.-][0-9uxUX]+([,.-][0-9uxUX]+))?)",r" \1 ",mystr)
Все эти сценарии работают, за исключением №5: который приводит к следующему:
'ca. 1830 - 01 /ca 183u.02.06 '
Я прочитал несколько вопросов и примеров как здесь, так и в результатах поиска.
Но мои навыки работы с регулярными выражениями в лучшем случае слабы.

Подробнее здесь: https://stackoverflow.com/questions/784 ... etween-dat
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»