#regex
#регулярное выражение
Вопрос:
У меня есть следующий адрес: Castle street 103 B 30
. Используя регулярное выражение, я хочу извлечь 2 вещи: Castle street
и B
.
Пока у меня есть это: ([A-z ] )
. Который делает то, что я хочу, за исключением того, что он также включает в себя конечное пространство Castle street
и окружающие пространства B
, которые мне не нужны.
Как мне это решить?
Комментарии:
1. Используйте
[A-Za-z] (?:s [A-Za-z] )*
Ответ №1:
Вы можете использовать
[A-Za-z] (?:s [A-Za-z] )*
b[A-Za-z] (?:s [A-Za-z] )*b
bp{L} (?:s p{L} )*b
b[[:alpha:]] (?:[[:space:]] [[:alpha:]] )*b
Смотрите демонстрацию регулярных выражений. Подробные сведения:
b
— граница слова (убедитесь, что первое слово не склеено с другим символом слова, например, буквой, цифрой или_
)[A-Za-z]
/[[:alpha:]]
/p{L}
— одна или несколько букв(?:s [A-Za-z] )*
— ноль или более повторенийs
/[[:space:]]
— один или несколько пробелов[A-Za-z]
— одна или несколько букв
b
— граница слова (убедитесь, что последнее слово не приклеено к другому символу слова, например, букве, цифре или_
)