Java中使用正则表达式拆分字符串模式

Java中使用正则表达式拆分字符串模式,java,regex,string,split,Java,Regex,String,Split,使用正则表达式,我必须拆分字符串模式并展开它们 例如: String Pattern = "rue Richard2" -----> in 2 string Substring1 = "rue Richard" , Substring2 = "2" 但对于更复杂的字符串模式,如“rue Richard 2-5”,我必须拆分和扩展: Substring1 = "rue-Richard " , Substring2 = "2" Substring1 = "rue-Richard " , S

使用正则表达式,我必须拆分字符串模式并展开它们

例如:

String Pattern = "rue Richard2" -----> in 2 string 
Substring1 = "rue Richard" , Substring2 = "2"
但对于更复杂的字符串模式,如“rue Richard 2-5”,我必须拆分和扩展:

Substring1 = "rue-Richard " , Substring2 = "2"
Substring1 = "rue-Richard " , Substring2 = "3"
Substring1 = "rue-Richard " , Substring2 = "4"
Substring1 = "rue-Richard " , Substring2 = "5"
Substring1 = "rue-Richard." , Substring2 = "2"
Substring1 = "rue-Richard." , Substring2 = "5"
Substring1 = "rue-Richard." , Substring2 = "7"
Substring1 = "rue-Richard." , Substring2 = "11"
但对于另一个更复杂的字符串模式,如“rue Richard 2,5,7,11”,我必须拆分和扩展:

Substring1 = "rue-Richard " , Substring2 = "2"
Substring1 = "rue-Richard " , Substring2 = "3"
Substring1 = "rue-Richard " , Substring2 = "4"
Substring1 = "rue-Richard " , Substring2 = "5"
Substring1 = "rue-Richard." , Substring2 = "2"
Substring1 = "rue-Richard." , Substring2 = "5"
Substring1 = "rue-Richard." , Substring2 = "7"
Substring1 = "rue-Richard." , Substring2 = "11"

这里的正则表达式没有帮助,因为您有两项任务要做:

  • 将非数字与数字分开
  • 分析数字
一个简单的解决方案是使用:


然后你“只”需要分析数字部分。

Regex看起来不是正确的工具。你能使用外部库吗?你能再解释一下你的问题吗?有一点是肯定的:这个问题不能仅仅用正则表达式模式来解决。也许你可以使用正则表达式来分割你的字符串(根据你需要的一个定义良好的规范),但是你需要一些代码来扩展你的street/housnumber对。你不能按空格分割字符串,然后按逗号分割分割数组的第二个元素吗!