Регулярное выражение извлекает первые три символа из строки

Используя регулярное выражение, как я могу извлечь первые 3 символа из строки (независимо от символов)? Также, используя отдельное выражение, я хочу извлечь последние 3 символа из строки, как бы я это сделал? Я не могу найти примеров в Интернете, которые работают так, спасибо, если вы знаете.

Спасибо Стивен

Ответ 1

Любой язык программирования должен иметь лучшее решение, чем использование регулярного выражения (а именно, некоторая функция substring или функция slice для строк). Однако это, конечно, можно сделать с помощью регулярных выражений (если вы хотите использовать его с помощью инструмента, такого как текстовый редактор). Вы можете использовать anchors, чтобы указать начало или конец строки.

^.{0,3}
.{0,3}$

Это соответствует 3 символам строки (как можно больше). Я добавил семантику от "0 до 3" вместо "ровно 3", так что это также будет работать и на более коротких строках.

Обратите внимание, что . обычно соответствует любому символу кроме строк. Обычно используется параметр s или singleline, который изменяет это поведение, но альтернатива без установки параметров - это (что действительно соответствует любому 3 символам):

^[\s\S]{0,3}
[\s\S]{0,3}$

Но, как я уже сказал, я настоятельно рекомендую против этого подхода, если вы хотите использовать его в некотором коде, который предоставляет другие функции манипуляции строками. Кроме того, вы должны действительно вникнуть в учебник.