[英]multiple delimeter and want to include that delimeter one of them in string using regex
[英]String parsing with delimeter using Java Regex
我需要使用double space解析我的字符串。所以我寫了正則表達式為/ /g
。這確實找到了所有的雙空格但我只需要在每個連續的雙精度空間之間必須有“=”符號。要清楚讓我用例子解釋一下:
輸入:
Hes id= 000014 Sbkd= 1151 Hesno= 0138075 Tur= 7 Dvkd= TL name= james michael king id= 555 home=turkey
如果我嘗試使用正則表達式/ /g
我得到的匹配為:
但正如你所見,我不需要邁克爾之后的雙重空間,顯然我不想拆分這個名字。
那么是否有任何正則表達式將檢查匹配之間的字符,並幫助解決我的問題?
注意:我使用Java,但我只需要正則表達式,讓我們假設我不能使用任何java函數。
您可以在拆分正則表達式中使用前瞻 :
/ (?=\w+=)/g
(?=\\w+=)
將確保在2個空格后有<name>=
。
在Java中你必須使用:
String[] arr = input.split(" (?=\\w+=)");
如果你不能使用前瞻或后視,另一種方法是簡單地檢查任何短語的雙空格后面跟一個=
符號。
/( )[^= ]+=/
將為您提供所需的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.