正则表达式 - 提取分隔符之间的出现
Regex- Extract occurrence between to delimiters
如何提取此模式中的后续事件:
123|xx3|1x23|1x2x3|x123x|123x
所以例如我只想提取第 3 次出现,我尝试使用:
(?:.*?\|){3}(.*)
但它从第 3 次出现和之后的所有内容中提取。
REGEXP_EXTRACT
参考显示了使用捕获组提取所需字符串部分的示例。
因此,匹配到第 3 部分,然后捕获第 3 个值:
^(?:[^|]*[|]){2}([^|]*)
这是一个demo,绿色突出显示的部分将被提取。
详情
^
- 字符串开头
(?:[^|]*[|]){2}
- 出现 2 次:
[^|]*
- |
以外的零个或多个字符
[|]
- |
管道符号
([^|]*)
- 第 1 组:除 |
. 以外的零个或多个字符
如何提取此模式中的后续事件:
123|xx3|1x23|1x2x3|x123x|123x
所以例如我只想提取第 3 次出现,我尝试使用:
(?:.*?\|){3}(.*)
但它从第 3 次出现和之后的所有内容中提取。
REGEXP_EXTRACT
参考显示了使用捕获组提取所需字符串部分的示例。
因此,匹配到第 3 部分,然后捕获第 3 个值:
^(?:[^|]*[|]){2}([^|]*)
这是一个demo,绿色突出显示的部分将被提取。
详情
^
- 字符串开头(?:[^|]*[|]){2}
- 出现 2 次:[^|]*
-|
以外的零个或多个字符
[|]
-|
管道符号
([^|]*)
- 第 1 组:除|
. 以外的零个或多个字符