Можно ли отфильтровать 'lava_rapido' и 'lava-rapido' с помощью простого REGEX? - PullRequest
1 голос
/ 03 августа 2011

Мне нужно создать фильтр Google Analytics, который поможет мне видеть данные только для следующих шаблонов URL:

http://www.xpto.com.br/local/lava-rapido

http://www.xpto.com.br/street/lava-rapido/lava-jato

http://www.xpto.com.br/em/state/lava-rapido

http://www.xpto.com.br/em/state_city/lava-rapido

http://www.xpto.com.br/local/state/cityname/lava_rapido/C404597429595E595D/xpto.html

Кто-нибудь может мне помочь с этим?

Спасибо

Diego

Ответы [ 3 ]

1 голос
/ 03 августа 2011

Если вам нужно точное совпадение:

http://www\.xpto.com.br\/(local|street|em)(\/(state|state\_city))?(\/cityname)?/(lava-rapido|lava_rapido)/?(lava-jato)?([A-Z0-9]*/[a-z0-9]*\.html)?

Проверено в http://regexpal.com/

1 голос
/ 03 августа 2011

Чтобы ответить на вопрос в заголовке, вот регулярное выражение:

lava[-_]rapido

Это допускает либо подчеркивание _, либо тире -.Обычно вам нужно избегать тире -, чтобы они не становились диапазонами, но если тире находится в начале класса символов [-ABC], вам не нужно.

Чтобы соответствовать любому извышеупомянутые URL (с чертой или подчеркиванием), используйте это (urlPattern1|urlPattern2|urlPattern3):

http://www\.xpto\.com\.br/local/lava[-_]rapido|http://www\.xpto\.com\.br/street/lava[-_]rapido/lava-jato|http://www\.xpto\.com\.br/em/state/lava[-_]rapido|http://www\.xpto\.com\.br/em/state_city/lava[-_]rapido|http://www\.xpto\.com\.br/local/state/cityname/lava_rapido/C404597429595E595D/xpto\.html
0 голосов
/ 03 августа 2011

Это будет соответствовать _ или -

lava[_\-]rapido
...