2013-08-21 2 views

ответ

0

Позволяет разбить его:

([a-z](?=[A-Z]) 

Первый раздел соответствует любому прописной символ, который заканчивается в верхнем регистре символ

|[A-Z](?=[A-Z][a-z])) 

Или любой символ верхнего регистра, который заканчивается на верхний, а затем нижний регистр

Например, это будет соответствовать

AAB с первым 'A', являющейся матч или

аВ

с 'а' будучи матча.

Регулярное выражение использует http://www.regular-expressions.info/lookaround.html

6

Хорошо, давайте разберем его.

//This is the start 
([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z])) 

[a-z](?=[A-Z]) //this means to match one lower case a-z followed by an uppercase A-Z 
| //or 
[A-Z](?=[A-Z][a-z]) //One uppercase A-Z followed by one uppercase and one lowercase a-z 

//The replace 
$1_ //Replace the match with "the match plus underscore". 
//aBxx would become a_Bxx and ABcxx would be A_Bcxx 

Image http://f.cl.ly/items/3H2w3k0m1k03072h2s0y/orreMBA%202013-08-21%20kl.%2010.37.18.PNG

+0

Какую программу вы использовали для создания этой схемы? – wtf

+1

andern - http://www.regexper.com/ – Martyn

+0

Это отличный инструмент для изучения/визуализации regexp's: [Regexper.com] (http://www.regexper.com) –

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