Я понимаю концепции RegEx, но это более или менее первый раз, когда я на самом деле пытался написать некоторые из них.RegEx - символ не до матча
Как часть проекта, я пытаюсь разобрать строки, которые соответствуют определенному домену (на самом деле массив доменов, но давайте будем держать его простым).
Сначала я начал с этим:
url.match('www.example.com')
Но я заметил, что я также получаю ввод так:
http://www.someothersite.com/page?ref=http://www.example.com
Эти строки будут матча курса для www.example.com
, но я хочу их исключить. Поэтому я думал по этим строкам: используйте только строки, содержащие www.example.com
, но не после символа ?
. Это то, что я придумал:
var reg = new RegExp("[^\\?]*" + url + "(\\.*)", "gi");
Это, однако, не похоже на работу, любые предложения будут высоко оценены, как я боюсь, что я использовал то, что мало знаний, я еще обладаю в этом вопросе.
Редактировать: Некоторые разъяснения.
- Вход регистрируется в запросах GET. Из них я хочу отфильтровать только несколько доменов. Они будут иметь/должны обрабатывать 0-1 произвольные поддомены (
example.com
,www.example.org
,www.somethirdsite.com
иweb.example.net
должны быть действительными), они будут храниться в переменной. - Я специально нашел запрос, как указано выше, но я также хотел бы обрабатывать
http://www.someothersite.com/page?ref=https://www.example.com
иhttp://www.someothersite.com/page?ref=www.example.com
, т. Е. Если моя игла не является частью домена запроса, а является частью данных запроса, я не хочу, чтобы совпадение.
Danneth, не слишком увязывайтесь с регулярными выражениями, пишите несколько тестов для входных данных, которые хотите принять и отклонить, и если регулярное выражение удовлетворяет этим тестам, то используйте его. В противном случае вы можете тратить много времени на то, что по сути является тривиальным вопросом. –
Кроме того, ответы, которые полезны, и принять ответ, который решает вашу проблему. –