Java регулярное выражение для поиска конкретной подстроки без буквенно-цифровых символов до или после нее

Не слишком знаком с регулярным выражением, поэтому, если возможно, можно использовать некоторые указатели в правильном направлении.

У меня есть несколько возможных значений String, которые могут быть что-то вроде следующего:

"88976756 ABC 33ddf33a24"

"89999ABC 3hhhj33"

"7ffhh7AB C78788sd"

Что мне нужно, это выяснить, существует ли значение ABC в этих строках, но перед ним не стоит буквально-цифровой символ.

В приведенных выше примерах только первый должен возвращать ABC. Второму примеру предшествует цифра, а в третьем есть пробел посередине.

Если кто-нибудь знает способ сделать это или имеет некоторую документацию относительно лучшего способа сделать это, я был бы признателен.

Изменить: строки выше, вероятно, были немного упрощенными. Некоторые дополнительные примеры ниже

"67676/" ABC'7866cc"

ABC должен быть найден, так как нет никаких буквенно-цифровых символов до или после него

"88xx # '\ A2C"

A2C должен быть найден, так как нет буквенно-цифровых символов до или после

"88xx # A2C &&& 88"

A2C должен быть найден, так как нет буквенно-цифровых символов до или после

"88xxA2C &&& 88"

A2C не должен быть найден, так как перед ним стоит буквенно-цифровой символ

Спасибо

1 ответ

Решение

Используйте слово границы соответствия \b

Ваше регулярное выражение может быть так же просто, как

\bABC\b
Другие вопросы по тегам