Как получить последний добавленный элемент в массиве? [Дубликат]

Жадное соответствие. Поведение регулярных выражений по умолчанию должно быть жадным. Это означает, что он пытается извлечь как можно больше до тех пор, пока он не будет соответствовать шаблону, даже если меньшая часть была бы синтаксически достаточной.

Пример:

import re
text = "Regex Greedy Matching Example "
re.findall('<.*>', text)
#> ['Regex Greedy Matching Example ']

Вместо сопоставления до первое вхождение «>», оно извлекло всю строку. Это по умолчанию жадное или «воспринимать все» поведение регулярного выражения.

С другой стороны, ленивое сопоставление «берет как можно меньше». Это можно сделать, добавив ? в конец шаблона.

Пример:

re.findall('<.*?>', text)
#> ['', '']

Если вы хотите получить только первое совпадение, используйте поиск вместо этого.

re.search('<.*?>', text).group()
#> ''

Источник: Примеры Regex для Python

1
задан Ryoko Nela 14 October 2012 в 11:02
поделиться

2 ответа

Используйте java.util.ArrayList. Там вам не нужно думать об индексе, и это реализация resizable-array.

Во время создания массива по умолчанию все значения равны нулю, поэтому, если вы не вставляете какое-либо значение ни в какой индекс (может быть в конец или начало или середина массива), он будет равен нулю. Поэтому вы должны пометить нулевую проверку.

2
ответ дан Subhrajyoti Majumder 25 August 2018 в 05:59
поделиться

Поскольку это ваше назначение, трюк заключается в том, чтобы добавить переменную, чтобы следить за количеством добавленных элементов.

Таким образом, вы можете иметь переменную public int size = 0 и изменять вы добавляете и удаляете операции, чтобы увеличивать и уменьшать эту переменную всякий раз, когда вы добавляете или удаляете элемент.

Затем вы можете добавить простой метод, чтобы проверить, нужно ли вам расширять массив

if (size == array.length)
   expandArray
2
ответ дан Makis Arvanitis 25 August 2018 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: