有人可以幫助編寫正則表達式來從字符串中提取值。Java正則表達式上的另一種模式
輸入
EX000 YUUOO 23 $90SDFFSFF SFDFSFD SFDSFS RMK NDN 002 SFDSFDF SFD FSDF SFSF
我想知道如何尋找RMK NDN
...並提取價值002
(4個位數最大值)?
感謝
有人可以幫助編寫正則表達式來從字符串中提取值。Java正則表達式上的另一種模式
輸入
EX000 YUUOO 23 $90SDFFSFF SFDFSFD SFDSFS RMK NDN 002 SFDSFDF SFD FSDF SFSF
我想知道如何尋找RMK NDN
...並提取價值002
(4個位數最大值)?
感謝
試試這個:
".*RMK NDN (\\d{1,4}).*"
假定輸入總是看起來就像你的榜樣,只有數字002
可以爲三位或四位數字的序列有所不同,這會工作:
public static String getDigits(String input) {
Pattern p = Pattern.compile("RMK\\s+NDN\\s+(\\d{3,4})\\s+SFDSFDF");
Matcher m = p.matcher(input);
return (m.find()) ? m.group(1) : null;
}
這裏是一個小程序,可以讓你測試Java正則表達式網站:http://www.cis.upenn.edu/~matuszek/General/RegexTester/regex-tester。 html – DwB 2011-12-13 19:50:56