LibreOffice Regex 使用 Regex() 匹配整个字符串
LibreOffice Regex match entire string with Regex()
在我的 calc 工作簿的 J6
中存在文本
Greg Zuerlein kicks off 65 yards returned by Jaydon Mickens for 20 yards (tackle by Jayron Kearse)
下面的公式在另一个单元格中:
=REGEX($J6,"^.+returned by.+ for ([0-9]+)|(no gain).*$","")
我的目标是公式returns 文本20
。 None 工作,我总是得到这个输出:
20 yards (tackle by Jayron Kearse)
更改正则表达式模式使其不包含 $
或 ^
不会更改输出。将 $
更改为 {0,}
也不会更改输出。我的思考过程是,正则表达式本质上应该是贪婪的,并在匹配之前收集所有可能的字符,但这似乎并没有发生在这里。使用交替的捕获组会不会有问题?
我已经使用其他程序进行了类似的搜索,但我很困惑为什么这在这里不起作用。任何见解将不胜感激。
您可以使用
^.+returned by.+ for ([0-9]+).*
参见regex demo。 详情:
^
- string/line 的开始
.+
- 一个或多个字符尽可能多
returned by
- 文字文本
.+
- 一个或多个字符尽可能多
for
- 文字文本
([0-9]+)
- 第 1 组 (</code>):一位或多位数字</li>
<li><code>.*
- 尽可能多的零个或多个字符。
在我的 calc 工作簿的 J6
中存在文本
Greg Zuerlein kicks off 65 yards returned by Jaydon Mickens for 20 yards (tackle by Jayron Kearse)
下面的公式在另一个单元格中:
=REGEX($J6,"^.+returned by.+ for ([0-9]+)|(no gain).*$","")
我的目标是公式returns 文本20
。 None 工作,我总是得到这个输出:
20 yards (tackle by Jayron Kearse)
更改正则表达式模式使其不包含 $
或 ^
不会更改输出。将 $
更改为 {0,}
也不会更改输出。我的思考过程是,正则表达式本质上应该是贪婪的,并在匹配之前收集所有可能的字符,但这似乎并没有发生在这里。使用交替的捕获组会不会有问题?
我已经使用其他程序进行了类似的搜索,但我很困惑为什么这在这里不起作用。任何见解将不胜感激。
您可以使用
^.+returned by.+ for ([0-9]+).*
参见regex demo。 详情:
^
- string/line 的开始
.+
- 一个或多个字符尽可能多returned by
- 文字文本.+
- 一个或多个字符尽可能多for
- 文字文本([0-9]+)
- 第 1 组 (</code>):一位或多位数字</li> <li><code>.*
- 尽可能多的零个或多个字符。