Получить цифры между слешами или в конце в URL - PullRequest
0 голосов
/ 04 июня 2018

Мне нужно, чтобы выражение reg (для groovy) совпадало с 7 цифрами между двумя косыми чертами (в URL) или в конце URL.Например:

/5490655/problema-s-etim-vyrazheniem-reg

Мне нужно 6032324, но оно также должно совпадать:

https://stackoverflow.com/questions/6032324

Если оно содержит 1 цифру больше / меньше, я не должен совпадать.Может быть, это легко, но я не очень знаком с этим:)

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 04 июня 2018

Поскольку вы анализируете URL, имеет смысл использовать анализатор URL, чтобы сначала получить часть path для разделения на /.Затем у вас будет прямой доступ к разделенным слэшем частям пути, которые вы можете проверить по очень простому шаблону [0-9]{7} и получить их все с помощью

def results = new URL(surl).path.split("/").findAll { it.matches(/\d{7}/) }

. Вы также можете взять первое совпадение:

def results = new URL(surl).path.split("/").findAll { it.matches(/\d{7}/) }.first()

Или последний:

def results = new URL(surl).path.split("/").findAll { it.matches(/\d{7}/) }.last()

См. Groovy demo :

def surl = "/5490655/problema-s-etim-vyrazheniem-reg"
def url = new URL(surl)
final result = url.path.split("/").findAll { it.matches(/\d{7}/) }.first()
print(result) // => 6032324
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...