Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите, пожалуйста, с регулярным выражением. (https://javascript.ru/forum/misc/33226-pomogite-pozhalujjsta-s-regulyarnym-vyrazheniem.html)

OctoberTide 14.11.2012 18:43

Помогите, пожалуйста, с регулярным выражением.
 
Здравствуйте! Хочу сделать регулярное выражение, которое бы соответствовало url-ам
/railways/1520/
/railways/1520/electric-locomotive/
/railways/1520/diesel-locomotive/russian/
/railways/1435/

неизменной частью будет только /railways/

просто для /railways/1520/ и /railways/1435 я смог составить регулярное выражение \/railways\/([^\/]+)\/?, а вот для большей вложенности не могу (вложенность может быть произвольно глубокой).

Прошу прощения за такой вопрос, только начал изучать регулярные выражения.

a_l 14.11.2012 20:31

/\/railways\/(.+)/

Или у вас в url ещё символы есть?

OctoberTide 14.11.2012 21:27

Цитата:

Сообщение от a_l (Сообщение 216010)
/\/railways\/(.+)/

Или у вас в url ещё символы есть?

Короче я походу рано задал вопрос. Просто мне нужно все что идет после /railways/ засунуть в массив, т.е. из такого url: /railways/1520/diesel-locomotive/russian/ получить массив где будут:
params[0] = "1520"
params[1] = "diesel-locomotive"
params[2] = "russian"

bFree 14.11.2012 22:16

OctoberTide,
"/railways/1520/diesel-locomotive/russian/".match(/\/railways\/(.+)/)[1].split("/");

Так?

OctoberTide 15.11.2012 11:36

Цитата:

Сообщение от bFree (Сообщение 216032)
OctoberTide,
"/railways/1520/diesel-locomotive/russian/".match(/\/railways\/(.+)/)[1].split("/");

Так?

Не, не совсем то. Я поспешил с вопросом. Мне нужно еще почитать.

Скажите, пожалуйста, почему шаблон \B-\B соответствует тире в тексте:
slovo - slovo
ведь \B это не соответствие границе слова, а пробел как я понял, это граница слова. Тем не менее соответствие находится в позиции 6 длиной в один символ. Что-то я не пойму почему так.


Часовой пояс GMT +3, время: 18:54.