Аналогично ответу Anon.
/\b(a\w*)/g
, а затем просмотреть все результаты с (обычно) $ n, где n - это n-й удар.Многие библиотеки будут возвращать / g результаты в виде массивов в $ n-ом наборе скобок, поэтому в этом случае $ 1 вернет массив всех совпадающих слов.Возможно, вы захотите перепроверить любую библиотеку, которую используете, чтобы выяснить, как она возвращает совпадения, как это, к сожалению, существует много вариантов глобальных результатов поиска.
Что касается \ w vs [a-zA-Z], иногда вы можете получить более быстрое выполнение, используя встроенные определения подобных вещей, поскольку он может легко иметь оптимизированный путь для предустановленных классов символов.
/ g вend делает его «глобальным» поиском, поэтому он найдет более одного.В некоторых языках / библиотеках он все еще ограничен строкой, поэтому, если вы хотите проверить весь файл, вам иногда потребуется / gm, чтобы сделать его многострочным
Если выхотите удалить результаты, как подсказывает ваш заголовок (но не вопрос), попробуйте:
/\ba\w*//g
, который выполняет поиск и замену в большинстве языков (/<search>/<replacement>/
).Иногда вам нужны буквы "s" на передней панели.Зависит от языка / библиотеки.В случае Ruby используйте:
string.gsub(/(\b)a\w*(\b)/, "\\1\\2")
, чтобы сохранить несловесные символы, и при необходимости поместите любой замещающий текст между \ 1 и \ 2.gsub для global, sub для первого результата.