Давайте разберем ваш запрос на различные части синтаксиса:
экстракт 452
Вы не указали, будет ли число всегда 452 или это будет другое число, но я предполагаю, что это может быть другое число, так как в противном случае вам не понадобится регулярное выражение. Сначала вы ищете цифру и ее синтаксис \d
. Если вы ищете 3-значное число, вы можете сделать \d\d\d
который можно более четко записать как \d{3}
. Если вам нужно любое целое число, независимо от количества цифр, вы должны использовать оператор +
, обозначающий одну или несколько. Итак, давайте предположим, что вы хотите поймать наиболее общий случай, в этом случае вы бы использовали \d+
.
что раньше //
Это потребует так называемого позитивного взгляда. Вы можете получить дополнительную информацию о предпросмотрах, но суть в том, что он найдет только совпадения, за которыми следует текст, указанный заглядыванием, но не включающий текст совпадения в совпадении. Синтаксис предвидения ((?=@@@)
где @@@
- это регулярное выражение, которое будет следовать непосредственно за матчем. Например, поиск //
будет выражаться как (?=//)
.
и после ETag
Для этого мы будем использовать противоположность позитивного взгляда: позитивный взгляд позади. Синтаксис для этого есть (?<=@@@)
где @@@
- это регулярное выражение, которое будет непосредственно предшествовать совпадению. Например, найти ETag: "
будет (?<=ETag: ")
Сложив все это вместе, вы бы использовали позитивный взгляд сзади, совпадение, которое вы ищете, и позитивный взгляд вперед. Итак, регулярное выражение, которое вы ищете:
(?<=ETag: ")\d+(?=//)
Это извлечет целое число любого количества цифр между текстом Etag: "
и //
.
Я предполагаю, что у вас уже есть среда, в которой вы можете запустить регулярное выражение. Если нет, то другие вопросы по Stack Exchange помогут вам найти его.