我想從銀行交易短信中獲取商家名稱。為此,我使用了以下 regx;
Pattern.compile("(?i)(?:\\sInfo.\\s*)([A-Za-z0-9*]*\\s?-?\\s?[A-Za-z0-9*]*\\s?-?\\.?)");
INR1.00 debited on Credit Card XX9007 on 11-Mar-19.Info:GOOGLE CLOUD.Avbl
它不作業
那么如何GOOGLE CLOUD從上面的短信中獲取呢?
uj5u.com熱心網友回復:
您的模式包含的部分多于捕獲所需值所需的部分。
問題是Info之前沒有空格,但是模式試圖將它與這部分匹配 (?:\\sInfo.\\s*)
您還可以將模式稍微簡化為:
(?i)\\bInfo:\\s*([A-Za-z0-9] \\s[A-Za-z0-9] )
請參閱正則運算式演示。
或者更廣泛地,使用否定字符類捕獲除點以外的任何字符:
(?i)\\bInfo:\\s*([^.] )
請參閱另一個正則運算式演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/341564.html
