0

This is my String:

 Kết quả xổ số đài  Bình Phước ngày 05/01/2013 Tên Giải Bình Phước - Ký hiệu: bp-05-01 Giải tám 08 Giải bảy 028 Giải sáu 3137-1907-5049 Giải năm 2026 Giải tư 25982-96941-33495-24133-42882-60030-16818 Giải ba 15685-66788 Giải nhì 20283 Giải nhất 46475 Giải đặc biệt 207984

This is my pattern:

.*?(Giải tám([\\s\\d-]*?))?Giải bảy([\\s\\d-]*?)Giải sáu([\\s\\d-]*?)Giải năm([\\s\\d-]*?)Giải tư([\\s\\d-]*?)Giải ba([\\s\\d-]*?)Giải nhì([\\s\\d-]*?)Giải nhất([\\s\\d-]*?)Giải đặc biệt([\\s\\d]*?).*?

文字列から 10 個のグループの数字を取得しようとしています。しかし、最後のグループを取得できません。常にヌルです。このhttp://www.regexplanet.com/advanced/java/index.htmlもテストしましたが、最後のグループなしで同じ結果が得られました。

私のパターンが間違っている場所を教えてください。

更新: 出力には、以下のように 10 個のグループがあります。

01-20 01:32:23.013: I/System.out(11368): group 0 : Kết quả xổ số đài  Bình Phước ngày 05/01/2013 Tên Giải Bình Phước - Ký hiệu: bp-05-01 Giải tám 08 Giải bảy 028 Giải sáu 3137-1907-5049 Giải năm 2026 Giải tư 25982-96941-33495-24133-42882-60030-16818 Giải ba 15685-66788 Giải nhì 20283 Giải nhất 46475 Giải đặc biệt 207984
01-20 01:32:23.013: I/System.out(11368): group 1 : Giải tám 08 
01-20 01:32:23.014: I/System.out(11368): group 2 :  08 
01-20 01:32:23.014: I/System.out(11368): group 3 :  028 
01-20 01:32:23.015: I/System.out(11368): group 4 :  3137-1907-5049 
01-20 01:32:23.015: I/System.out(11368): group 5 :  2026 
01-20 01:32:23.015: I/System.out(11368): group 6 :  25982-96941-33495-24133-42882-60030-16818 
01-20 01:32:23.015: I/System.out(11368): group 7 :  15685-66788 
01-20 01:32:23.016: I/System.out(11368): group 8 :  20283 
01-20 01:32:23.016: I/System.out(11368): group 9 :  46475 
01-20 01:32:23.017: I/System.out(11368): group 10 : 

ありがとう。

4

1 に答える 1

1

?最後に一致したグループの量指定子を削除します。すべてのワイルドカード式は消極的であるため、文字列内のすべての文字を消費するわけではありません。貪欲な式が少なくとも1 つあると、最後のグループが一致することが保証されます。

.*?(Giải tám([\\s\\d-]*?))?Giải bảy([\\s\\d-]*?)Giải sáu([\\s\\d-]*?)Giải năm([\\s\\d-]*?)Giải tư([\\s\\d-]*?)Giải ba([\\s\\d-]*?)Giải nhì([\\s\\d-]*?)Giải nhất([\\s\\d-]*?)Giải đặc biệt([\\s\\d]*).*?
于 2013-01-19T18:31:56.740 に答える