本当にありがとうございます。Pythonは複数のREGEXマッチを関数に渡します。
私は* code *として指定した区切りタグの間にいくつかのテキストを正常に取り込んでいます。私は複数のIE:*コード*コードをここに#1 *コード*とし、*コード*コードをここで#2 *コード*とします。私は、REGEXのキャプチャされたコードを*コード*マーカーの間でフォーマットするために私のクラスに渡すことに苦労しています。それは常に "ここにコード#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は}に置き換えるべきIが所定の位置に持っているタグですコード区切り文字の間にマッチした実際のコード:
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)ではありません。あなただけの1れる発生を置き換えたい場合は、サブの数パラメータを使用します。あなたは、あなたが望むものを示すかもしれないコードの部分を省略しています。私は '* code *(...)* code *'の最初の一致をキャプチャして、クラス内の別のテキストの '{CODEHERE} 'の最初の一致を置き換えたいと思っています。これは本当ですか? –