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