Поскольку вы анализируете 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