Pythonの正規表現について
空行(\n\n)で文章を区切るために、
python
1re.split(r’\n\n’, text)
としたのですが、改行(\n)の箇所でも文章が区切られてしまいます。
空行で区切って改行で区切らない正規表現を教えてください。
「改行(\n)の箇所でも文章が区切られてしま」うということはないと思いますが、そう判断したときの文字列データと結果を教えていただけますか。
勘違いをしていて、仰る通り\nで区切られてしまうことはありませんでした。
https://peps.python.org/pep-0020/
ところで実際は、この文章を"."と"!"と"\n\n"で区切りたいのですが、変数textに上の文章を代入して
```python
sentences = re.split(r'[!|.|(\n\n)]', text)
print(sentences)
```
とすると、'Readability', 'counts'のように改行部分で区切られてしまいます。
よろしければ、改行で区切られない方法を教えてください。
(以下略文)
parse is better than dense. Readability
counts.
Special cases aren't special enough to break(続く)
このような感じの文章です
「"."と"!"と"\n\n"で区切りたい」のであれば、
[!|.|(\n\n)] ではありません。 []は中の何れかの文字で区切るときに使います。文字ごとなので、これだと改行も含まれてしまいます。 (「|」も含まれますね)
グループ毎の何れかしたいのであれば、
(?:!|\.|\n\n)
でしょうか。
(回答っぽいので、回答にコピーしときました)
ご回答ありがとうございます。
しかしながら、上手くいきませんでした。
[' ', ' ', ' ', ... , ' \n', ... ' ']と出力されました。
!|.|\n\nでも試しましたが、1文字ずつに区切れてしまいました。
回答2件
あなたの回答
tips
プレビュー