Oracle REGEXP_INSTR() 函数2025年3月17日 | 阅读 3 分钟 REGEXP_INSTR 是 Oracle 的字符串函数。 它是 INSTR 函数的扩展。 此函数用于在字符串中进行模式匹配。 语法参数字符串: 用于获取指定模式的字符串。 模式: 正则表达式模式匹配信息。 其中一些如下: 值 | 描述 |
---|
^ | 匹配字符串的开头。 如果与“m”的 match_parameter 一起使用,则它匹配表达式中任何位置的行的开头。 | $ | 匹配字符串的结尾。 如果与“m”的 match_parameter 一起使用,则它匹配表达式中任何位置的行的结尾。 | * | 匹配零个或多个出现次数。 | + | 匹配一个或多个出现次数。 | ? | 匹配零个或一个出现次数。 | . | 匹配除 NULL 之外的任何字符。 | | | 用作“OR”以指定多个替代方案。 | [ ] | 用于指定匹配列表,您试图匹配列表中任何一个字符。 | [^ ] | 用于指定非匹配列表,您试图匹配除列表中字符之外的任何字符。 | ( ) | 用于将表达式分组为子表达式。 | {m} | 匹配 m 次。 | {m,} | 至少匹配 m 次。 | {m,n} | 至少匹配 m 次,但不超过 n 次。 | \n | n 是一个介于 1 和 9 之间的数字。匹配在遇到 \n 之前在 ( ) 中找到的第 n 个子表达式。 | [..] | 匹配一个整理元素,该元素可以包含多个字符。 | [::] | 匹配字符类。 | [==] | 匹配等价类。 | \d | 匹配数字字符。 | \D | 匹配非数字字符。 | \w | 匹配单词字符。 | \W | 匹配非单词字符。 | \s | 匹配空白字符。 | \S | 匹配非空白字符。 | \A | 匹配字符串的开头或匹配换行符之前的字符串的结尾。 | \Z | 匹配字符串的结尾。 | *? | 匹配前面模式零个或多个出现次数。 | +? | 匹配前面模式一个或多个出现次数。 | ?? | 匹配前面模式零个或一个出现次数。 | {n}? | 匹配前面模式 n 次。 | {n,}? | 至少匹配前面模式 n 次。 | {n,m}? | 至少匹配前面模式 n 次,但不超过 m 次。 |
start_position: 它是可选的。 它是从给定字符串中匹配模式的起始位置。 nth_appearance: 它是可选的。 它是要从给定字符串进行模式匹配的第 n 个位置。 match_parameter: 它是可选的。 它用于匹配 REGEXP_INSTR 函数的行为。 其中一些如下: 值 | 描述 |
---|
'c' | 执行区分大小写的匹配。 | 'i' | 执行不区分大小写的匹配。 | 'n' | 允许句点字符 (.) 匹配换行符。 默认情况下,句点是通配符。 | 'm' | 假定表达式具有多行,其中 ^ 是一行的开头,$ 是一行的结尾,而不管这些字符在表达式中的位置如何。 默认情况下,该表达式被假定为单行。 | 'x' | 空格字符将被忽略。 默认情况下,空格字符的匹配方式与其他字符相同。 |
Subexpression: 它是可选的。 当模式有子表达式时使用 返回它返回一个数值。 示例 1
 示例 2
 示例 3

|