Java 正则表达式匹配后跟空格的数字

Java 正则表达式匹配后跟空格的数字,java,regex,Java,Regex,我希望使用reg ex拆分以下字符串 1 hi my name is John. 2 I live at house 32. 3 I see stars. 到 请注意,我试图在数字上拆分,然后在/(^ |\b\s+\d+\s+/g上拆分一个空格 说明: (^ |\b\s+一组^或\b\s+) ^字符串的开头或 \b\s+a后跟空格/制表符,重复1次或多次 \d+一个介于0和9之间的数字重复1次或多次(因此它将匹配1、12、123等) \s+空格/制表符重复1次或多次 编辑: (^ |

我希望使用reg ex拆分以下字符串

1 hi my name is John. 2 I live at house 32. 3 I see stars.

请注意,我试图在数字上拆分,然后在
/(^ |\b\s+\d+\s+/g
上拆分一个空格

说明:

  • (^ |\b\s+
    一组
    ^
    \b\s+
    • ^
      字符串的开头或
    • \b\s+
      a后跟空格/制表符,重复1次或多次
  • \d+
    一个介于0和9之间的数字重复1次或多次(因此它将匹配1、12、123等)
  • \s+
    空格/制表符重复1次或多次
编辑


(^ | \.\s+)\d+\s+
可能对您更合适。

也许这样可以:
[0-9]{1}[\]
拆分:

/\d+ /

只有第一个匹配项将为空,因为它是第一个数字前面的匹配项:
1
,因此您必须忽略该数字。

您的编程语言是什么?@SinaIravanian。JAVA这有关系吗?在\d+之后添加一个\s+,因为数字后面必须有空格(与数字前面的空格相反!)您不能重复单词边界。因此,
\b
之后的量词是多余的。此表达式仍然不起作用。它只在第一个数字上匹配,因为在2和3之前没有单词边界,后面跟空白。(我不知道你为什么有这个要求。)@stema你是对的-使用
(^ | \.\s+)\d+\s+
可能是一个更好的解决方案。为什么会这样?只需使用
\d+
?或者
\b\d+
如果你想挑剔的话。
[0-9]{1}
等于
[0-9]
[\]
等于
\
[\]
只是一个空格(除非使用了
/x
/
,那么你需要对它进行转义)。
/\d+ /