Будет ли этот RegEx соответствовать любому сайту Stack Exchange? - PullRequest
2 голосов
/ 15 августа 2010

Я сделал это RegEx:

/http:\/\/(.+)?\.?(stackoverflow|superuser|serverfault|stackapps|stackexchange)\.com\/questions\/([0-9]+)\/?.*/i

Это должно соответствовать любому вопросу сайта Stack Exchange. Это правильный RegEx? Я протестировал его, и он работает, но я не тестировал его на всех бета-сайтах, и, поскольку я знаю, что я сатана в мире RegEx, я знаю, что что-то не так (всегда есть что-то не так с моим RegExes xD) .

Это хорошо? Спасибо.

Ответы [ 2 ]

1 голос
/ 15 августа 2010

Вы уверены, что хотите сделать это с помощью регулярного выражения? Я думаю, что было бы лучше, если бы вы сохранили URL-адреса всех существующих сайтов и использовали этот список. Когда вы используете регулярное выражение, вам все равно нужно будет обновить его, как только какой-либо из бета-сайтов начнет работу и выберет свой домен ...

1 голос
/ 15 августа 2010

Собираетесь ли вы использовать его против партий, которые могут его обмануть? Я думаю, это может соответствовать строке запроса URL. (http://badguy.com * * 1003

Лучшим подходом может быть использование библиотеки разбора URL или функции для безопасного извлечения важных компонентов.

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