2013-02-11 3 views
1

У меня есть список слов следующим образом:Regex: Матч после первой буквы

cat 
concatenate 
matter 
pattern 
hat 
rather 
fathom 
at 
saturate 
vat 

мне нужно регулярное выражение, чтобы соответствовать любым словам, которые одна буква за которой следует буквы 'at'.

я в настоящее время [A-Za-z]at но включает в себя 'cat' и 'nat' в 'concatenate' и 'rat' в 'saturate'.

Как я могу заставить его искать ровно один символ раньше и следить за тем, чтобы перед «at» было не более 1 символа. Я попытался использовать {1}, но это все еще не сработало. Спасибо за вашу помощь.

ответ

4

Использование границы слова:

\b[A-Za-z]at\b 

или, если у вас есть строка содержит только те 3-х символов, то вы можете использовать якоря:

^[A-Za-z]at$ 
+0

Спасибо за помощь и за редактирование. Это отлично работает. – user2060214

+0

@ user2060214 .. Добро пожаловать :) –

0

Вы можете использовать ^[A-Za-z]at$
[A-za-z] бы проверить единственное письмо. Следуя at, он будет искать точное совпадение.
Использование знака ^ и $ заставит слово начинать и заканчивать на заданных границах.

Смежные вопросы