Образцы не употребляют символы!
Вот шаг за шагом путь, чтобы увидеть его (не может быть лучше, но это, как я интерпретирую это так или иначе):
Первый символ L
, движок регулярных выражений сравнивает его с \w+
и соглашается с тем, что это совпадение. То же самое происходит для T
, затем E
.
В пространстве двигатель регулярных выражений видит пространство в регулярном выражении, это прекрасно.
Следующий шаг - это начальный палец, но что видит реджикс? Помните, что начертания не потребляют персонажей, так что \(
в (?<=\()
на самом деле не потребляется, а \(
не соответствует вашим \w+
матчам!
Вы можете подумать о регулярном выражении, которое использует эти символы: \w+ \w+
, но с условием на втором \w+
, что оно должно быть найдено между parens. Условие может быть выполнено, но само выражение не соответствует круглым скобкам!
Для того, чтобы он соответствовал, вы должны добавить скобки:
\w+ \((?<=\()\w+(?=\))\)
После просмотра и согласования пространства, движок регулярных выражений видит (
, что согласуется с представленным выражением, она двигается вперед.
Двигатель затем видит T
. Во-первых, соответствует ли он следующему символу, \w+
? Да, во-вторых, есть ли перед ним открывающий парик? Да.
Перед тем, как двигаться вперед, он видит положительный взгляд. Есть ли только парашют закрытия? Нет, есть e
, но \w+
все еще может быть удовлетворен, поэтому он соответствует e
с другим \w
. Это продолжается до t
. Есть ли закрывающий палец после t
? Да, перейдем к следующей проверке.
Он встречает заключительный параграф, который совпадает с заключительным парсом в выражении (обратите внимание, что буквальный палец закрытия здесь можно отбросить, и вместо этого вы будете сопоставлять LTE (Test
).
Но при всем этом, это может быть так же хорошо, что уронила lookarounds:
\w+ \(\w+\)
Поскольку они добавляют больше напряжения на двигателе, и даже если это не так, что видно на малых масштабах, это может быть значительная на большей строке.
Надеюсь, это поможет, даже если это немного!
use http://gskinner.com/RegExr/: наведите указатель мыши на свой код регулярного выражения, чтобы увидеть четкое объяснение. См. Также http://regex101.com/r/zE8qZ8 – hexicle
Я использовал regexr, чтобы проверить это в первую очередь. все еще не дает мне понять, почему он не работает – hamobi