有人可以帮助编写正则表达式以从字符串中提取值吗?

输入

EX000 YUUOO 23 $90SDFFSFF SFDFSFD SFDSFS RMK NDN 002  SFDSFDF SFD FSDF SFSF


我想知道如何查找RMK NDN ...并提取值002(最多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;
}

09-25 19:45