正则表达式在子字符串之前获取子字符串

本文关键字:字符串 获取 正则表达式 | 更新日期: 2023-09-27 18:07:45

我有一个像这样的字符串,

你好,你好,lsb,方面,rsb——,你

我想提取-LSB-,ASPECT,之前的子字符串,直到逗号,在本例中是hello

我写了像

这样的正则表达式
'b'w+[/-/,LSB/-/,ASPECT]

但是,它在-LSB-,ASPECT,之前提取整个子字符串,直到开始,如

你好,你好,lsb,方面

线索吗? ?

正则表达式在子字符串之前获取子字符串

这个的正则表达式(使用正向向前看断言)将是

[^,]*(?=,-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)

小心,方括号创建了一个字符类,在这种情况下你不需要。

现场演示

试试这个:

('w+),-LSB-,ASPECT