我希望使用 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')
如何使用带有捕获组的标志?
在非捕获组中使用嵌套捕获组,如下所示
(?is:(My name is ))(\w+)
REGEXP_REPLACE(str, r'(?is:(My name is ))(\w+). ', r'\1 C')