Libreoffice Calc REGEX 如何获得第二场比赛?
Libreoffice Calc REGEX how get second match?
如何获取REGEX的第二次匹配?
例如:
A1: 11:33
=REGEX(A1;"\d{2}")
- 得到 11,但我想要 33!
答案取决于可能的输入值范围。您是否总是 需要单元格内容(段落)的最后两个数字字符?如果是,那么您可以添加 $
以便正则表达式仅匹配段落末尾的内容(参见 the documentation):
=REGEX(A1;"\d{2}$")
见下例(A1='11:33
;A2包含A3中所示的公式(使用FORMULA()函数)。
您可以尝试捕获第二对数字(即第一对数字之后的数字)并将所有内容替换为捕获的值。
=REGEX(A1,"^.*?\d{2}.*?(\d{2}).*$","")
编辑:
从您对其他答案的评论来看,您似乎没有字符串,只有时间。在那种情况下,正则表达式是错误的工具。只需使用 MINUTE()
来提取时间的分钟部分:
=MINUTE(A1)
如何获取REGEX的第二次匹配? 例如:
A1: 11:33
=REGEX(A1;"\d{2}")
- 得到 11,但我想要 33!
答案取决于可能的输入值范围。您是否总是 需要单元格内容(段落)的最后两个数字字符?如果是,那么您可以添加 $
以便正则表达式仅匹配段落末尾的内容(参见 the documentation):
=REGEX(A1;"\d{2}$")
见下例(A1='11:33
;A2包含A3中所示的公式(使用FORMULA()函数)。
您可以尝试捕获第二对数字(即第一对数字之后的数字)并将所有内容替换为捕获的值。
=REGEX(A1,"^.*?\d{2}.*?(\d{2}).*$","")
编辑:
从您对其他答案的评论来看,您似乎没有字符串,只有时间。在那种情况下,正则表达式是错误的工具。只需使用 MINUTE()
来提取时间的分钟部分:
=MINUTE(A1)