Предположим, что у меня есть строка с множеством случайных вещей в ней, например:
strJunk ="asdf2adsf29Value=five&lakl23ljk43asdldl"
И мне интересно получить подстроку, сидящую между "Value =" и "&", которая в этом примере будет "пять".
Я могу использовать регулярное выражение, как показано ниже:
match = re.search(r'Value=?([^&>]+)', strJunk)
>>> print match.group(0)
Value=five
>>> print match.group(1)
five
Как получилось, что match.group(0) - это целое "Value = five", а group (1) - "пять"? И есть ли способ для меня просто получить "пятерку" в качестве единственного результата? (Этот вопрос возникает из-за того, что я имею только небольшое понимание регулярного выражения)
Мне также придется сделать замену в этой строке, например:
val1 = match.group(1)
strJunk.replace(val1, "six", 1)
Что дает:
'asdf2adsf29Value=six&lakl23ljk43asdldl'
Учитывая, что я планирую выполнить вышеупомянутые две задачи (снова найти строку между 'Value =' и '&', а также заменить это значение), мне было интересно, есть ли другие более эффективные способы поиска подстроки и замены ее в исходной строке. Я прекрасно придерживаюсь того, что у меня есть, но я просто хочу убедиться, что я не занимаю больше времени, чем должен, если будут лучшие методы.