public static Mnemonic analyze(String s) {
        if (s == null) {
            return null;
        }
        Matcher matcher = MNEMONIC_PATTERN.matcher(s);
        if (matcher.find()) {
            String mark = matcher.group();
            char mChar = mark.charAt(1);
            int start = matcher.start();
            int end = matcher.end();
            return new Mnemonic(
                    s.substring(0, start) + mChar + s.substring(end), mChar, start);
        } else {
            return null;
        }
    }