【问题标题】:How to Match AND Split REGEX如何匹配和拆分正则表达式
【发布时间】:2014-01-31 15:17:39
【问题描述】:

如何在 REGEX (Android/Java) 中按 ASCII 字符组进行拆分

实际字符串
“আমি আছি 我是 ইংরেজি থেকে বাংলা”

预期输出
আমি আছি
我是
ইংরেজি থেকে বাংলা

【问题讨论】:

  • 捕获组有帮助吗?我不知道
  • 用 ASCII 字符分割的任何模式
  • 试过 "^\\p{ASCII}*$" 但没有帮助

标签: java android regex split


【解决方案1】:

您总是可以在以下方面进行拆分:

(?<=[\u0021-\u007E])\s+(?=[^\u0021-\u007E])|(?<=[^\u0021-\u007E])\s+(?=[\u0021-\u007E])

这会在空格上分割,前面是一个标准拉丁字符,后跟 not 一个标准拉丁字符 not 一个标准拉丁字符,后跟一个标准的拉丁字符。当然,您可以通过查看 here 作为参考来修改要接受的 unicode 范围。

【讨论】:

  • 我本来打算发帖split("(?&lt;=\\P{ASCII})\\s(?=\\p{ASCII})|(?&lt;=\\p{ASCII})\\s(?=\\P{ASCII})"),但你先小心。 +1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多