LibreOffice Calc:返回正则表达式捕获括号

Posted

技术标签:

【中文标题】LibreOffice Calc:返回正则表达式捕获括号【英文标题】:LibreOffice Calc: return regex capturing parentheses 【发布时间】:2021-11-09 12:56:21 【问题描述】:

我想从 LibreOffice Calc 中的 URL 获取站点名称。目前,我有这个公式

=REGEX("https://***.com/questions/..." , "://(.+)/")

它输出://***.com/。我希望它输出***.com,但我不明白如何让它返回捕获括号内容。

【问题讨论】:

【参考方案1】:

与 Google-Sheets RE2 正则表达式函数不同,LibreCalc 提供基于 ICU 的功能。因此,您可以尝试:

A1中的公式:

=REGEX("https://***.com/questions/...";"(?<=://)[^/]+")
(?&lt;=://) - 断言位置的正向回溯以字面“://”开头。 [^/]+ - 一个否定字符类,用于查找除正斜杠之外的 1+ 个字符。

更复杂的方法是用第一个捕获组替换输入:

=REGEX("https://***.com/questions/...";"^.*://([^/]+).*$";"$1")

【讨论】:

以上是关于LibreOffice Calc:返回正则表达式捕获括号的主要内容,如果未能解决你的问题,请参考以下文章

Python - LibreOffice Calc - 使用正则表达式查找和替换

正则表达式匹配单元格公式,其中工作表名称与 LibreOffice Calc 中的 uderscore aka Sheet1_2

运行程序并返回值 libreoffice calc

libreoffice calc 如果函数返回 true 而不是 value

从 LibreOffice Calc 工作簿导入

使用 pyuno 在 LibreOffice writer 文档中搜索正则表达式非常贪婪