Вы слишком усложняете проблему.
Прежде чем ответить, запомните что-то, есть несколько шагов и комбинаций шагов, которые позволяют достичь невероятного количества преобразований, чтобы сделать пригодные для использования шаблоны, последнийresort IS Определяемое пользователем выражение Java.
Похоже, что вы хотите достичь сопоставления значений, в отличие от карты прямого значения в вашем случае, то, что строка, которую вы тестируете, должна содержать«SO -» и другие случаи, где-то в тексте.
С помощью этого простого фильтра вы можете преобразовать свои данные, содержащие эту информациюпо своему желанию и со стороны «ЛОЖЬ» обработайте его на предмет ошибок.
Это немного расширит ваше преобразование, но когда вам нужно что-то изменить, это будет легче, чем за один шаг с большим количествомкода.