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/...";"(?<=://)[^/]+")
(?<=://)
- 断言位置的正向回溯以字面“://”开头。
[^/]+
- 一个否定字符类,用于查找除正斜杠之外的 1+ 个字符。
更复杂的方法是用第一个捕获组替换输入:
=REGEX("https://***.com/questions/...";"^.*://([^/]+).*$";"$1")
【讨论】:
以上是关于LibreOffice Calc:返回正则表达式捕获括号的主要内容,如果未能解决你的问题,请参考以下文章
Python - LibreOffice Calc - 使用正则表达式查找和替换
正则表达式匹配单元格公式,其中工作表名称与 LibreOffice Calc 中的 uderscore aka Sheet1_2