import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\s科目コードSOA=(?P<subject_code_soa>.*?)(?:,\\s|\\s\\[PRF)";
final String string = "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]";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html