我试着写在这个格式的字符串匹配的Java正则表达式查找第二空间:的规则运算超过20个字符
AXXXXYYYYB
凡XXXX是终止在第20个字符或字符串第二个空间,以先到者为准YYYY是一个字符串,它终止于第20个字符或第一个空间,以先到者为准。
而且我需要XXXX和YYYY成为第一和第二捕获组。
我能得到它的工作在XXXX的第一空间与此终止:
^A([^ ]{1,20}) ?([^ ]{1,20})B$
但我无法弄清楚,将终止在第20个字符或规则第二个空间。
此外,我不在乎任一捕获组是否以一个额外的前导空间或尾随空间结束。
样品输入 - >输出:
MR SMITH BROOKLYN -> "MR SMITH" and "BROOKLYN" (separated at second space)
MR SMYTHE-JONES BRONX -> "MR SMYTHE-JONES" and "BRONX" (separated at second space)
123456789QUEENS -> "123456789" and "QUEENS" (separated at 20th character)
1234567890 1234567890QUEENS -> "1234567890 123456789" and "0QUEENS" (separated at 20th character)
1234567890 1234567890STATEN ISLAND -> "1234567890 123456789" and "0STATEN" (separated at 20th character, then separated at space)
你能提供与预期输出的例子吗? – 2014-10-30 04:03:40
是的,我一注意到保存就立即注意到,并在您发布澄清请求时进行修复。抱歉! – lavinio 2014-10-30 04:14:19
只有1个空格和少于20个字符的字符串会发生什么变化? – vks 2014-10-30 04:25:18