public static boolean isDynamicSymbolPattern(String name, boolean caseSensitive) {

		name = caseSensitive ? name : name.toUpperCase();
		if (startsWithDefaultDynamicPrefix(name)) {
			return true;
		}

		// TODO: This appears that it incorrectly match our de-duped
		// naming convention of adding the address to the end of a base name
		int lastIndex = name.lastIndexOf('_');
		if (lastIndex <= 0) {
			return false;
		}
		String suffix = name.substring(lastIndex + 1);
		if (suffix.length() < 3 || suffix.length() > 16) {
			return false;
		}
		return isHexDigits(suffix);
	}
Tests if the given name is a possible dynamic symbol name.
WARNING! This method should be used carefully since it will return true for
any name which starts with a known dynamic label prefix or ends with an '_' 
followed by a valid hex value.
@param name the name to test
@param caseSensitive true if case matters.
@return true if name is a possible dynamic symbol name, else false
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/symbol/SymbolUtilities.java