我有一个像下面这样的字符串,
喜,你好,-LSB-,ASPECT,-RSB-,你
在这种情况下,我想提取-LSB-,ASPECT,
之前的子字符串,直到逗号,hello
。
我写过像
这样的正则表达式\b\w+[/-/,LSB/-/,ASPECT]
然而,它会在-LSB-,ASPECT,
之前提取整个子字符串并将其包含起来,直到开始为止,
嗨,你好,-LSB-,ASPECT
任何线索??
答案 0 :(得分:3)
此正则表达式(使用positive lookahead assertion)将是
[^,]*(?=,-LSB-,ASPECT,)
<强>解释强>
[^,]* # Match any number of characters except commas
(?= # until the following regex can be matched:
,-LSB-,ASPECT, # the literal text ",-LSB-,ASPECT,".
) # (End of lookahead assertion)
在这种情况下,小心的方括号会创建一个character class,你不需要。
答案 1 :(得分:0)