我想把文本分成句子.我的文字包含\n两者之间的字符.我希望在\n和.(点)完成分割.我不能BreakIterator用作分裂条件,因为它是一个空格后跟一个句号(在我希望分割的文本中,这是没有必要的).
示例:
i am a java programmer.i like coding in java. pi is 3.14\n regex not working
Run Code Online (Sandbox Code Playgroud)
应输出:
['i am a java programmer', 'i like coding in java', 'pi is 3.14', 'regex not working']
Run Code Online (Sandbox Code Playgroud)
我尝试了一个简单的正则表达式,它分裂\n或.:
[\\\\n\\.]
Run Code Online (Sandbox Code Playgroud)
这不起作用,但指定单独工作.
\\\\n
\\.
Run Code Online (Sandbox Code Playgroud)
所以任何人都可以提供一个将分裂的正则表达式\n或.?
另一个问题是我不希望在像5.6这样的小数的情况下进行拆分.
这个java正则表达式应该是它:
"\n|((?<!\\d)\\.(?!\\d))"
Run Code Online (Sandbox Code Playgroud)
点数:
\n永远不需要逃避这个正则表达式说:"要么是换行符,要么是不在数字前面或后跟的字面点
仅供参考,除了括号本身之外,您不需要转义字符类中的字符(在[]之间).
| 归档时间: |
|
| 查看次数: |
3704 次 |
| 最近记录: |