簡體   English   中英

使用Java 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我得到的匹配為:

正則表達式輸出ScreenShot

但正如你所見,我不需要邁克爾之后的雙重空間,顯然我不想拆分這個名字。

那么是否有任何正則表達式將檢查匹配之間的字符,並幫助解決我的問題?

注意:我使用Java,但我只需要正則表達式,讓我們假設我不能使用任何java函數。

您可以在拆分正則表達式中使用前瞻

/  (?=\w+=)/g

(?=\\w+=)將確保在2個空格后有<name>=

RegEx演示

在Java中你必須使用:

String[] arr = input.split("  (?=\\w+=)");

如果你不能使用前瞻或后視,另一種方法是簡單地檢查任何短語的雙空格后面跟一個=符號。

/( )[^= ]+=/將為您提供所需的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM