如何使用 BigQuery 的 re2 正则表达式打开捕获子组的标志[重复]

问题描述 投票:0回答:1

我希望使用 REGEXP_REPLACE 在 BigQuery 中使用

i
(不区分大小写)和
s
(点匹配新行)等标志。

对于输入,

My name is X
my Name is Y
MY NAME is Z
,我希望用一些常数C替换X,Y,Z,这样输出就是ex的。
My name is C

我知道您可以通过以下方式使用这些标志,即

(?is:My name is )(\w+). 
,但是第一组成为非捕获组,这不允许我通过像这样的
\1
之类的数字来引用它(因为指 X,而不是
my name is
)

REGEXP_REPLACE(str, r'(?is:My name is )(\w+). ', r'\1 C')

如何使用带有捕获组的标志?

regex google-bigquery re2
1个回答
0
投票

在非捕获组中使用嵌套捕获组,如下所示

(?is:(My name is ))(\w+)

REGEXP_REPLACE(str, r'(?is:(My name is ))(\w+). ', r'\1 C')

© www.soinside.com 2019 - 2024. All rights reserved.