考虑字符串中特殊字符的正则表达式

Regular expression to consider special characters in a string

问题是我必须将数据标记为基于空格的标记,同时我不能基于特殊字符将数据标记化。现在我的正则表达式是

       (\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

我想避免这种情况,如果有任何想法,我们将不胜感激。

您的正则表达式匹配 "an optional word, then an optional list of special characters, then another word"。如果您有两个单词,则无法在第一个单词之前添加特殊字符。 您可能正在寻找的是 ([-*#+=;:\/,~_ \w]+).