正则表达式二
语法 含义 (?= pattern ) 肯定的 lookahead 零宽度断言 查看字符串中的当前位置是否紧跟着出现了 pattern ,而 pattern 不会成为匹配字符串的一部分。 'A(?=B)' 匹配后面跟有 B 的 A,但不使 B 成为匹配的一部分。 例如, SELECT REGEXP_SUBSTR( 'in new york city', 'new(?=\\syork)'); 会返回子串 new,因为它后面紧跟着 ' york'(请注意 york 前面的空格)。 (?! pattern ) 否定的 lookahead 零宽度断言 查看字符串中的当前位置是否 没有 紧跟着出现 pattern ,而 pattern 不会成为匹配字符串的一部分。所以, 'A(?!B)' 匹配后面未跟着 B 的 A。 例如, SELECT REGEXP_SUBSTR('new jersey', 'new(?!\\syork)'); 会返回子串 new。 (?<= pattern ) 肯定的 lookbehind 零宽度断言 查看字符串中的当前位置是否前面紧挨着出现了 pattern ,而 pattern 不会成为匹配字符串的一部分。所以, '(?<=A)B' 匹配前面紧挨着 A 的 B,但不使 A 成为匹配的一部分。 例如, SELECT REGEXP_SUBSTR('new york',