【问题标题】:LibreOffice Calc: return regex capturing parenthesesLibreOffice Calc:返回正则表达式捕获括号
【发布时间】:2021-11-09 12:56:21
【问题描述】:
我想从 LibreOffice Calc 中的 URL 获取站点名称。目前,我有这个公式
=REGEX("https://stackoverflow.com/questions/..." , "://(.+)/")
它输出://stackoverflow.com/。我希望它输出stackoverflow.com,但我不明白如何让它返回捕获括号内容。
【问题讨论】:
标签:
regex
libreoffice
libreoffice-calc
【解决方案1】:
与 Google-Sheets RE2 正则表达式函数不同,LibreCalc 提供基于 ICU 的功能。因此,您可以尝试:
A1中的公式:
=REGEX("https://stackoverflow.com/questions/...";"(?<=://)[^/]+")
-
(?<=://) - 断言位置的正向回溯以字面“://”开头。
-
[^/]+ - 一个否定字符类,用于查找除正斜杠之外的 1+ 个字符。
更复杂的方法是用第一个捕获组替换输入:
=REGEX("https://stackoverflow.com/questions/...";"^.*://([^/]+).*$";"$1")