import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		String patterns[] = { 
			"(?:[^_]+)_(?:[^_]+)_(?:[^_]+)_([^_]+)", 
			".*?_.*?_.*?_([^_]+)",
			"^[^_]*_[^_]*_[^_]*_([^_]*)_"
		};
		
		String s = "ABC_XYZ_123_adbc1234-ed98_1234.dat";
		
		for (String p : patterns) {
			
	        Pattern pattern = Pattern.compile(p);
    		Matcher matcher = pattern.matcher(s);
    		
    		if (matcher.find()) {
    			System.out.println(matcher.group(1));
			}
		}
	}
}