#regex
#регулярное выражение
Вопрос:
Например — предложение, где |
граница предложения. В конце предложения после символа .
располагается символ пробела
:
|This is one. |
Как разделить эту строку, как это:
[This ]
[is ]
[one. ]
Что я делаю (регулярное выражение):
Регулярное выражение1:
(.s|s)
Результат:
0: [This]
1: [is]
2: [one]
Регулярное выражение2:
(?<=[sp{Punct}])
Результат:
0: [This ]
1: [is ]
2: [one.]
3: [ ]
но это не разделяет слова должным образом.
Ответ №1:
Вы можете разделить с (?<=s)(?=w )
Пример кода (python)
import re
a="This is one. "
print(re.split("(?<=s)(?=w )",a))
Вывод
['This ', 'is ', 'one. ']
Ответ №2:
Вы не указали, какой движок регулярных выражений вы используете. Так что дать вам точное решение совершенно невозможно.
Разделяющее регулярное выражение, которое вам нужно в pcre, выглядит следующим образом
(?<=s)b
Положительный просмотр назад проверяет наличие пробела перед границей слова, но не включает его в шаблон. Таким образом, конечные пробелы не будут удалены.
Ответ №3:
Регулярное выражение:
(?<=[s])
для приговора:
"This is one. "
возвращает результат:
0: [This ]
1: [is ]
2: [one. ]