Регулярное выражение для соответствия уценке и регулярным источникам href из определенного домена - PullRequest
0 голосов
/ 14 декабря 2018

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

Например, у нас может быть следующее в уценке:

![image](https://www.filepicker.io/api/file/12x3DD5667dxfjdf/convert?w=600)

У нас также может быть

<img src="https://www.filepicker.io/api/file/someotherfile" />

Или

<a href='https://www.filestack.com/api/file/anothersdf?sdf=3&dfdf=1'>link</a>

Простопытаясь сопоставить один домен на данный момент, у меня есть следующее регулярное выражение, которое не соответствует всем случаям:

Я не хочу сопоставлять какие-либо ссылки на другие домены.

У меня естьимел смешанный успех со следующим:

/(https:\/\/www\.filepicker.io\/api\/file\/[a-zA-Z0-9]+(\/convert)*[^)])$/is

1 Ответ

0 голосов
/ 14 декабря 2018

Это будет соответствовать тому, что вы хотите:

 /(https?:\/\/www\.(?:filepicker\.io\/|filestack\.com\/)api\/file\/[\w+?&=\/]+)/

https://regex101.com/r/DA8Gok/2/

Но Regex не подходит (сам по себе) для анализа любого типа структурированных данных.Вместо этого создайте лексер / парсер.

Вот несколько примеров, которые я написал:

https://github.com/ArtisticPhoenix/MISC/tree/master/Lexers

http://artisticphoenix.com/2018/11/11/output-converter/

...