[英]Splitting string only at the first matching regex position
我有以下字符串:“ 123456-A,Bcd,789101-E,Fgh”
我希望將其拆分為:“ 123456-A,Bcd”和“ 789101-E,Fgh”。 我該如何實現? 我應該使用什么regex
和split
表達式?
我看到我可以使用.matches(".*[az],\\\\s[0-9].*")
在“ Bcd”之后找到逗號,但是如何僅在該逗號處拆分字符串? .split(",\\\\s")
在所有出現的逗號處分割,后跟空格...
我使用JAVA 1.6。
您可以使用逗號分隔,后跟0+空格,6位數字,空格和連字符:
String[] result = s.split(",\\s*(?=\\d{6} -)");
參見regex演示 。
圖案細節
,
-逗號 \\s*
-0+空格字符 (?=\\\\d{6} -)
-正向超前查詢(一種非消耗性模式,它所匹配的內容將不屬於結果),需要6位數字,后跟一個空格,並且-
立即位於當前位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.