Я использую Python (на самом деле pl / python) для последовательного нахождения серии регулярных выражений в очень большом текстовом объекте. Это работает нормально! Каждое совпадение - это другой результат, и каждая замена будет другим результатом, в конечном итоге основанным на запросе внутри цикла.
На данный момент я был бы рад заменить каждое совпадение в rx на любой текст, просто чтобы понять, как оно работает. Может кто-нибудь дать мне явный пример замены совпавшего текста?
match.group (1) , кажется, правильно указывает сопоставленный текст; это способ делать вещи?
plan3 = plpy.prepare("SELECT field1,field2 FROM sometable WHERE indexfield = $1",
[ "text" ])
rx = re.finditer('LEFT[A-Z,a-z,:]+RIGHT)', data)
# above does find my n matches...
# ------------------- THE LOOP ----------------------------------
for match in rx:
# below does find the 6 match objects - good!
# match.group does return the text
plpy.notice("-- MATCH: ", match.group(1))
# must pull out a substring as the 'key' to an SQL find (a separate problem)
# (not sure how to split based on the colon:)
keyfield = (match.group(1).split, ':')
plpy.notice("---------: ",kefield)
try:
rv = plpy.execute(plan3, [ keyfield ], 1 )
# --- REPLACE match.group(1) with results of query
# at this point, would be happy to replace with ANY STRING to test...
except:
plpy.error(traceback.format_exc())
# ------------------- ( END LOOP ) ------------------------------