使用RegEX跳过前3个主要字符

时间:2014-03-26 17:47:14

标签: regex

我正在寻找一个RegEX,它匹配/选择字符串的前3个字符(包括空格)以外的所有字符。也就是说,从第4个字符开始选择,如果没有第4个(或第3个或第2个)字符,则不会匹配。

EX1。给定字符串:" ABC COMPANY"

RegEX应匹配"公司"

EX2。给定字符串:" JASON'绘画"

RegEX应匹配" ON' S PAINTING"

EX3。给定字符串" AB"

RegEX不应该匹配任何东西。

我能够提出一个只匹配第一个字符^.{3}\s*的表达式,但这是我需要的反转。

这没有在任何编程语言中使用,所以我不能使用字符串操作。对于上下文,这是使用Oracle的企业数据质量RegEX替换处理器。

提前致谢。

2 个答案:

答案 0 :(得分:4)

我不知道Oracle's Enterprise Data Quality RegEX Replace processor是否支持Lookaround。但如果它支持,这是通常的正则表达式:

(?<=^...)(.*)

这里使用正面的lookbehind (?<=^...),它检查匹配是否在开头的三个字符之后。

Online Demo

答案 1 :(得分:1)

我是正则表达式的新手,但请尝试:(?<=.{3}).+

括号内的部分是一个积极的外观 - 它放弃了匹配,只返回匹配后记录是否可能。 。+标记意味着必须至少有一个字符。如果您知道所有字符都是单词字符(0-9 a-z A-Z和下划线)或空格,我建议用[\ w \ s]替换后面的点。