使用正则表达式查找连续重复的 2 个或更多字符
Using regexp to find 2 or more characters repeating sequentially
我正在尝试使用 teradata 正则表达式来查找字母连续出现两次或多次的名称
例如,Smith 和 Simons 应该每个 return 0,但是 Smmith、LLOYD、Smittth 和 Simmons 应该每个 return 1
我试过了:regexp_instr(NameField,'(.)\1[1}')
但是,如果双字母位于 NameField 的开头,这仅 return 值为 1 - 例如劳埃德,阿米尔 return 1 - 但柯林斯 returns 0
如何'trap'出现双字母?
(.)
我想这就是您要找的。 (.)
捕获任何字符,
捕获与前一个字符匹配的字符,即双字母
- 你打错了。无论出于何种原因,您对量词
使用了左方括号
- 确保您正在
> 0
进行比较
regexp_instr(NameField,'(.){1}') > 0
实际上 {1}
是多余的,因为
已经是一个匹配项的请求。
我正在尝试使用 teradata 正则表达式来查找字母连续出现两次或多次的名称
例如,Smith 和 Simons 应该每个 return 0,但是 Smmith、LLOYD、Smittth 和 Simmons 应该每个 return 1
我试过了:regexp_instr(NameField,'(.)\1[1}')
但是,如果双字母位于 NameField 的开头,这仅 return 值为 1 - 例如劳埃德,阿米尔 return 1 - 但柯林斯 returns 0
如何'trap'出现双字母?
(.)
我想这就是您要找的。 (.)
捕获任何字符, 捕获与前一个字符匹配的字符,即双字母
- 你打错了。无论出于何种原因,您对量词 使用了左方括号
- 确保您正在
> 0
进行比较
regexp_instr(NameField,'(.){1}') > 0
实际上 {1}
是多余的,因为 已经是一个匹配项的请求。