Я получил эту строку:Регулярного выражения, чтобы исключить и захватить дополнительную подстроку
A. rest/asks/foo.bar.json
B. rest/asks/foo.bar
Мне нужно регулярное выражение, которое позволит мне захватить следующие подстроки:
1. 'rest'
2. 'asks'
3. '/foo.bar'(optional)
4. '.json' (optional)
Я провел некоторые часов поиск решения проблемы, но, к сожалению, не найдено решение
Прочитано:
^(rest)\/([^\/\.]+)(.+)?(?=(\.json))
Но \.json
требуется в этом случае
Результаты:
А. rest/asks/foo.bar.json
1. [0-4] `rest`
2. [5-9] `asks`
3. [9-17] `/foo.bar`
4. [17-22] `.json`
B. rest/asks/foo.bar
Your pattern does not match the subject string.
Пробовал это:
^(rest)\/([^\/\.]+)(.+)?(?=(\.json)?)
Результаты:
А. rest/asks/foo.bar.json
1. [0-4] `rest`
2. [5-9] `asks`
3. [9-17] `/foo.bar.json`
B. rest/asks/foo.bar
1. [0-4] `rest`
2. [5-9] `asks`
3. [9-17] `/foo.bar`
Может кто-нибудь мне помочь?
Как я могу выражать подстроки matche, как мне нужно?
Вы можете проверить регулярное выражение здесь: http://regex101.com/
Это работает мужчина! Большое спасибо! Где вы создали диаграмму? –
На [Debuggex] (https://www.debuggex.com/). – zessx