我有两个字符串
02/22/2017 10:15:19.312 AM: Information : Response Code : 98
02/22/2017 10:15:19.312 AM: Information : Response Code : 99 : TransactionID : 132
我需要提取以下参数 -
我正在使用以下模式搜索
/^(\d{2}\/\d{2}\/\d{4})(.*\bResponse Code\b)(.*\b : \b)(\d+)(.*\bTransactionID\b)?(.*\b : \b)?(\d+)?/
无法提取TransactionID。你能告诉我正则表达式中的错误吗?
答案 0 :(得分:1)
当您在正则表达式中使用贪婪的.*
时,它与最后:
匹配。
你需要让它变得非贪婪并删除不需要的群组:
/^(\d{2}\/\d{2}\/\d{4}).*\bResponse Code\b.*?\b : \b\d+(?:.*\bTransactionID\b.* : \b)?(\d+)?/