2014-10-10 4 views
-1

пожалуйста, может ли один помочь мне разорвать этот код и объяснить мнеШаблон p = Pattern.compile ("(? <! \ w) [tT] \ w +");

этот код, как показано в названии

я знаю выход из этого, но я хочу знать, как это работает

REGEX:. (?<!\\w)[tT]\\w+”)

+7

Learn регулярных выражений. –

+0

Взгляните на это [сайт] (http://regexone.com/) –

ответ

0
(?<!\\w)[tT]\\w+ 

(?<!\\w) ==> отрицательна просмотра назад (там не должно быть [A-Za-z0-9_] за t или T

[tT] ======>t или T.

\\w+ ======> любое [A-Za-Z0-9 _] +. (Должен быть один или несколько)

В основном это захватывает слова, как

train, Train, @train, train, to, t121ka и т.д.

Это не захватит

atrain

2

Части регулярного выражения являются:

  • (?<!\\w) = «предыдущий символ не является„слово“символ
  • [tT] = либо„Т“или„Т“
  • \\w+ =» один или больше «слово» символы

в целом, это означает, что «слово, которое начинается с Т и длиной не менее 2 символов»

Кстати, это может быть выражено более кратко, как:

\b[tT]\\w+ 

\b значением "граница слова"

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