2013-05-29 3 views
1

Мне действительно сложно с выражениями регулярных выражений, и я пытаюсь выполнить поиск строк и получить значение, найденное с помощью регулярного выражения.Использование регулярных выражений, чтобы найти шаблон и получить результат.

На данный момент я использую много .indexOf() и .substring() и так далее, чтобы добиться того, чего хочу, но это кажется довольно дорогостоящим.

Итак, чтобы описать, что я хочу, я начну с заявления, что знаю, что следующая часть: subject.replace(/\bwid=([^&]*)/g, "wid=1234");; будет проходить через строку, найдите в строке строку wid=, и она заменит все, что будет, пока не встретит первый & с тем, что мне нужно.

Теперь, что я хочу, это немного по-другому, у меня есть эта модель: /q=/; который находится где-то в строке. Моя ценность будет после = и до /: /q=some_value_here/; Мне нужно найти что-то подобное в строке и вместо того, чтобы его заменять, просто получите значение оттуда, чтобы я мог его использовать.

Я пробовал /\b!q=/=([^/]*)/, но, очевидно, мне нужно что-то скрывать и менять его, потому что он не совсем работает :) Может ли кто-нибудь помочь? И по этому вопросу регулярного выражения, где можно найти хорошие учебники о том, как его использовать?

EDIT: Строка Пример: http://rgr-ashley.vertica.dk/us/en-us/search#!/q=/test

+0

http://www.regular-expressions.info/ должен помочь вам приступить к работе, а онлайн-тестировщик регулярных выражений google предлагает несколько полезных сайтов для тестирования вашего регулярного выражения, например http://gskinner.com/RegExr/ –

+0

Can вы приводите пример строки ввода? –

ответ

2

Используйте этот:

var matches = str.match(/\!\/q=\/([^/]*)/) 

Значение имеет индекс 1 из matches.

Вам нужно бежать / (как / завершает регулярное выражение буквального) и я не знаю, почему ты поставил ! и второй =.

+0

'!' Был потому, что он имеет хэш, хэш, но я могу игнорировать это. – Roland

+2

Если вы приведете пример входной строки, было бы легко создать правильное регулярное выражение. –

+0

Просто добавлен один в вопрос desc – Roland

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