我試着寫在這個格式的字符串匹配的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