Я очень ценю ваше время.Python pass несколько захваченных REGEX соответствует функции
Я успешно собираю текст между разделительными тегами, которые я указываю как * код *. У меня есть несколько кодов IE: * code * здесь # 1 * code *, а затем * code * коды здесь # 2 * code *. Я изо всех сил пытаюсь получить код, записанный REGEX, между маркерами * code * в мой класс для форматирования. он всегда появляется как «коды здесь # 1» снова и снова.
The input text is:
*image1*
Some More Text here
That's a title pic and there are 2 more enable pictures per page.
*code* CENTER CODES HERE *code* Those can be a bit larger. And then there is more
code to show *code* MORE CENTER CODE *code*
Paragraph Test
Вот что я захватывая текст, а затем переборе:
replace = CodeboxReplace()
codeboxRE = re.compile('\*code\*(.*?)\*code\*')
found = codeboxRE.findall(thisText)
for item in found:
thisText = codeboxRE.sub(replace(item), thisText)
OK, а затем класс CodeboxReplace() выглядит следующим образом {CODEHERE} является тег У меня есть на месте, чтобы заменить фактический код, который был подобран между кодом разделителями:
class CodeboxReplace(object):
def __init__(self):
self.counter = 0
def __call__(self, match):
self.counter += 1
.......some not relevant code here................
codeHereRE = re.compile('{CODEHERE}')
found = codeHereRE.findall(myCode)
for item in found:
myCode = codeHereRE.sub(match, myCode)
return myCode
Так фундаментально Я хочу фрагменты кода, захваченных между т он ограничивает замену {CODEHERE}. Но каждый матч всегда использует только первый захват из REGEX.
Помощь! Благодаря!
, если вы хотите увидеть, как это оказывает посмотреть на: http://www.americantechnocracy.com/getArticle
С наилучшими пожеланиями, Том
Это на самом деле не [MCVE] (https://stackoverflow.com/help/mcve). Вы опускаете части кода, которые могут показать, что вы хотите. Я думаю, вы хотите, чтобы первое совпадение '* code * (...) * code *' было захвачено и использовано для замены первого вхождения '{CODEHERE}' в другом тексте вашего класса. Это правда? –