正規表現の処理方法がわかりません。例を次に示します。
string = "red\\/banana 36 monkey\\/apple 14 red\\/apple 23 red\\/horse 56 bull\\/red 67 monkey\\/red 45 bull\\/shark 89"
red/xxxx のようなものと xxxx/red のようなものだけを考慮し、カップルではなく xxxx名のみをグループ化する re.match.group() で単一の正規表現を実行したい:
私はやってみたいです:
print(match.group("beginningwithred") + " " + match.group("number")
そして取得します:
banana 36
apple 23
horse 56
次に、次のようにします。
print(match.group("endingwithred") + " " + match.group("number")
そして取得します:
bull 67
monkey 45
私の現在のコードは次のようになります:
iterator = regex.finditer(string)
for match in iterator:
regex = re.compile('red\\\\\\\\/(?P<beginningwithred>banana|apple|horse)|(?P<endingwithred>bull|monkey)\\\\\\\\/red (?P<number>\d\d)')
しかし、それは機能しません。使用できません| グループ間と python HOWTO は役に立たない.. { }も2つの式全体を含めて試しましたが、どちらも機能しません。それほど複雑ではないはずですが、何が問題なのかわかりません。