2017-01-24 3 views
-10

Я пытаюсь использовать модуль регулярных выражений в Python. Например, у меня есть две строки:Ищет строку в Python

Профессиональная ГИС "Панорама" (версия 12.4.0, для платформы "x64") 
Профессиональная ГИС "Панорама" (версия 12.4.0, для платформы "x32") 

Число после 12 изменчиво и может быть более двух цифр. Как я могу поймать, например, все первые строки?

+6

Можете ли вы продемонстрировать * любое * усилие при решении этого самостоятельно? –

+5

Что означает 'вся первая строка' в вашем случае? – RomanPerekhrest

+0

@ScottHunter это была моя ошибка, чтобы не показывать усилия. Но теперь для меня это не имеет значения, долг ниже ответов, я понял, как мне работать с regexp. – user3798175

ответ

0

Не совсем ясно, каковы условия. Исходя из ваших комментариев, которые я думаю, что вы обратите внимание на следующее регулярное выражение:

r"Профессиональная ГИС \"Панорама\" \(версия 12(\.\d+){2,}, для платформы \"x(32|64)\"\)" 

Это будет соответствовать любой последовательности точек и цифр после 12. (так, например, 12.4.51.3.002 допускается), и, кроме того, как x64 и x32 разрешены (не x42).

Вы можете проверить регулярное выражение на regex101.

+0

Большое спасибо, теперь я понял больше. Я пробовал эту услугу, но, возможно, имел тупость – user3798175

0

Вы можете попробовать следующее. Если у вас есть дополнительные номера после 12, вы можете включить символ ? в соответствие с регулярным выражением.

Профессиональная ГИС "Панорама" \(версия 12.[0-9]?[0-9].[0-9]?[0-9], для платформы "x(32|64)"\) 
+0

Большое спасибо – user3798175

Смежные вопросы