0

問題是我必須將數據標記爲基於空格的標記,同時我不能根據特殊字符標記數據。眼下正則表達式我已經是正則表達式考慮字符串中的特殊字符

 (\w*[-*#+=;:\/,~_ ]*\w+) 

有了這個,當我處理

1-CHECK ON BLOCKS BELOW IF MARKET CORRECTION ARE LOADED: PCORP:BLOCK=ANCTRLG&V5PTCLG; AF55722 BRTBMWA-3289 (AF55722) in block ANCTRLG (Product ID: CAAZ 107 4493 R1A10) AF55736 BRTBMWA-3290 (AF55726)in block V5PTCLG (Product ID: CAAZ 107 4260 R2A08) IF MARKET CORRECTIONS ARE LOADED THEN V5 INTERFACE PROPERTY MUST BE DEFINED AS FOLLOW : MUXFIM : ACC-OFF (Accelerate Alligment is not active) WLL : ACC-ON (Accelerate Alligment is active) : EXAPC:V5ID=v5id,PROP=ACC-OFF; 

它所做的是基於特殊的標記化基礎上,同時空格字符串也標記化的數據串字符像

   : EXAPC:V5ID=v5id is tokenized to : EXAPC, :V5ID and =v5id rather want it to split as : and EXAPC:V5ID=v5id 

我想避免這個任何想法任何幫助將不勝感激。

+0

在範圍和'\ w'周圍使用paren,但在使用'+' – dandavis

+0

之前爲什麼不使用。*作爲整個事物,因爲它會匹配任何你喜歡扔進去的字符? – grail

+0

在字符類中移動'\ w','[ - *#+ =;:\ /,〜_ \ w] +' – Toto

回答

1

您的正則表達式匹配「可選單詞,然後是特殊字符的可選列表,然後是另一個單詞」。如果你有兩個單詞,在第一個單詞之前沒有選擇特殊字符的選項。 你可能要找的是([-*#+=;:\/,~_ \w]+)

+0

我已經嘗試過提供的正則表達式,但它不符合我的要求。我已經相應地更新了要求。請看看它。 –

+0

只需刪除空格,留下'([ - *#+ =;:\ /,〜_ \ w] +)''。 – Hetzroni