вопрос регулярных выражений javascript? - PullRequest
1 голос
/ 05 мая 2010

У меня есть следующий div:

<div id = "zone-2fPromotion-2f" class = "promotion">

Как я могу получить значение 2f, представленное в конце, на самом деле это значение Акции и как его получить?

Я использовал

this.match = this.id.match(/(Promotion)-([0-9a-f]{2})/);

но это не дает мне точный результат, но дает мне массив (Promotion-2f, Promotion, 2f), но это не то, что мне требуется. Любое руководство, а также если кто-то может направить меня на хороший онлайн-ресурс для регулярных выражений, было бы очень полезно и ценится.

Ответы [ 2 ]

2 голосов
/ 05 мая 2010

это то, что вы хотите.Результаты сопоставления - это, прежде всего, вся сопоставляемая часть выражения, а затем различные группы.поэтому, так как вы хотите получить группу 2 (второй лот ()), просто сделайте также

this.match = this.id.match(/(Promotion)-([0-9a-f]{2})/)[2];

, лучшая онлайн-ссылка, которую я нашел, это http://www.regular -expressions.info/

edit: вы можете просто пропустить () вокруг промоушена, поскольку вы не беспокоитесь о возврате этой части, и сделайте это

this.match = this.id.match(/Promotion-([0-9a-f]{2})/)[1];
0 голосов
/ 05 мая 2010

Это хороший ресурс по регулярным выражениям для всех языков.

http://www.regular -expressions.info / javascript.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...