我有一个字符串列表,如下表所示。使用正则表达式,我想提取每个字符串中最后一个逗号(,)之前的字符串。
书名 |
---|
蓝锁,1 |
火影忍者,卷。9 |
哈利·波特(小说),第 2 卷 |
我找到了执行此操作的正则表达式/^.*(?=,\s[vV]ol)/
,但是当我在 Google Sheet 中使用相同的正则表达式时,它会抛出一个错误,提示““^.*(?=,\s[vV]ol)”不是有效的正则表达式” 。
我需要更改什么才能使正则表达式在 Google 表格上工作?
谢谢你!
我有一个字符串列表,如下表所示。使用正则表达式,我想提取每个字符串中最后一个逗号(,)之前的字符串。
书名 |
---|
蓝锁,1 |
火影忍者,卷。9 |
哈利·波特(小说),第 2 卷 |
我找到了执行此操作的正则表达式/^.*(?=,\s[vV]ol)/
,但是当我在 Google Sheet 中使用相同的正则表达式时,它会抛出一个错误,提示““^.*(?=,\s[vV]ol)”不是有效的正则表达式” 。
我需要更改什么才能使正则表达式在 Google 表格上工作?
谢谢你!
Google Sheets 正则表达式不支持环视。
尝试:
RE2 库不支持环视,如
(?<=...)
、(?<!...)
、(?=...)
和。(?!...)
转换与 Google 表格中特定模式第一次出现的任何字符串匹配的正则表达式的最佳方法是在要提取的模式部分周围使用捕获组,并按原样使用上下文模式部分,而不进行任何环视句法。
例如
.*?(?=context_pattern)
可以重写为(.*?)context_pattern
.请注意,
REGEXEXTRACT
仅输出捕获的子字符串。所以,你可以将你的模式转换为