考虑字符串中特殊字符的正则表达式
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]+)
.
问题是我必须将数据标记为基于空格的标记,同时我不能基于特殊字符将数据标记化。现在我的正则表达式是
(\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]+)
.