# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"\s科目コードSOA=(?P<subject_code_soa>.*?)(?:,\s|\s\[PRF)"
test_str = "2016-02-09 13:00:00,060 INFO host1 DRF00MSS-I 18b7c91e 5e185b220a57170bf715972b26f78745 aaaaaabbbbbbcccccc 005A2C6577C02118F7DBC3600EF4CFCF_AP01_02E [MESSAGE_SEND] Command=jp.co.ufjbank.phoenix.app.framework.control.gyoumu.ApfwServiceKouzaShutokuCommand, QueueingCommand=jp.co.ufjbank.phoenix.app.control.keiyakukanri.common.TKEMailCommonBufferingCommand, キュー名称=5719, EnvelopeID=DIVM2C00000000144798124842300, トランザクション=xxxxxxtr, ユーザID=1334799381, チャネルコード=1, チャネルサブコード=0, キャリアユーザID=a34'ZLCQ6tz1y4BqQ, UserAgent=Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0), 内部エラーコード='WAAZZ1231, 外部エラーコード=WAAZZ1231, Action=jp.co.ufjbank.phoenix.app.boundary.ib.cf.jibunginkou.JibunGinkouShokiHyouziAction, JSP=cf.jibunGinkou.JibunGinkouKouzaKaisetsuSetsumei.tile, フォワード先論理名=success, RammwareセッションID=RamwSS, Rammware変換元コード=RawO, Rammware変換後URL=RawU, リダイレクト先論理名称=REDIRECT_BNKIB, リダイレクトパス=/banking?_TRANID=AP002_028, リダイレクト先URL=https://MAINMENUA/bnkib/banking?_TRANID=AP002_028, HUB振り分けコード=HubD, データ識別番号=DIVM2E00000000144798546700801, 相手先振り分けコード=XKFC0300, 処理結果コード=00, 変換元URL=/edichk/egw/NetFurikomiEDISeisaShoukaiAction, 変換後URL=http://localhost:8080/edichk/kessai/NetFurikomiEDISeisaShoukaiAction.do, 取引通番=Tuban, FaultCode=FalCD, 例外種別=Reigai, アクションリスナ=AcLis, Icewall利用=IceU, TBログイン結果=TBin, TBセッションチェック結果=TBSS, TBログアウト結果=TBot, セッション後処理クラス=SScl, ログアウト識別情報=otInfo, セッションID=SSid, キューテーブル=QueTB, メッセージセンダータイプ=MSGT, 受信_データ識別番号=GET_DID, 受信_相手先振り分けコード=GET_DELI, 受信_処理結果コード=GET_RESU, validate属性=false, ValidatorListener実行済=false, ValidatorListener戻り値=false, validate呼出可否=true, リクエストURI=/ibp/torihikikanri/InformationShousaiShoukai.do, 帳票生成クラス=Pcls, MHUBゲートウェイ送信番号1=1001, MHUBゲートウェイ送信番号2=2002, MHUBゲートウェイ送信番号3=3003, MHUBゲートウェイ送信番号4=4004, MHUBゲートウェイ送信番号5=,5005, MHUBゲートウェイ送信番号6=6006, リクエストURI=/ibgp/cf/CCBqMoushikomiShokiHyouzi.do, メッセージセンダータイプ=WACsYotameMessageSender, 送信番号1=971a5b220a57170bf715972bb2851ad7, 送信番号2=CC222222, 送信番号3=CC333333, 送信番号4=192.200.111.111/63774/0x0000000000021a5a, 預為接続取引ID=learve_connect, データ識別番号(送信番号1)=971a5b220a57170bf715972bb2851ad7, サービスID(RCV)='rcv_svs, オリジナルサービスID(RCV)=org_service1, リクエストシステムID(RCV)=req_service1, 支店番号=12345, 口座種類=10001, 科目コード=243, 口座番号=012345, 起動店番=S_no, 起動マシンID=mac, 氏名コード=namecd, 加盟店ID=kamei1, 受付番号=20151120000238602867, 顧客通知受付番号=20151120-001, サービスコード=5007, 東京システム通番=T_tuban, 大阪システム通番=O_tubanx, 中央処理通番=C_tuban, 契約番号=7631305969, 契約番号(ダイレクト内)=D7631305969, 連絡照会コード=RSCD, 収納機関番号=SK_NO, 納付番号(お客様番号)=N_NO, 払込確認番号=H_NO, 加盟店受付番号=KU_NO, LID_M=LID_M, 精査結果区分=9999, EDIステータスコード=EDI_STS, 収納機関引継情報パターン=S_PTN, 収納機関引継情報=S_INF, 店番=MiseNO, 機番=KIBAN, 口座店番SOA=SOA_MiseNO, 科目コードSOA=SOA_K, 預金種類SOA=SOA_RS, 貯蓄フラグSOA=SOA_CY, 口座番号SOA=SOA_KNO, チャネルサブコードSOA=SOA_SUB, 取引フェーズ区分SOA=SOA_Tori, 連動区分SOA=SOA_RKBN, 契約番号SOA=SOA_KY, 契約者特定コードSOA=SOA_TCD, SOAリクエスタの送信時のサービスID=SOA_REQ, SOAリクエスタの送信時のオリジナルサービスID=SOA_ORG, SOAリクエスタの送信時のエンドポイントアドレス=SOA_EPT, CC認証リクエストID=CC_ReqID, 状態コード=JyoCD [PRF:192.200.111.111/63774/0x0000000000021a5a]"
matches = re.search(regex, test_str)
if matches:
print ("Match was found at {start}-{end}: {match}".format(start = matches.start(), end = matches.end(), match = matches.group()))
for groupNum in range(0, len(matches.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = matches.start(groupNum), end = matches.end(groupNum), group = matches.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html