我正在寻找一个RegEX,它匹配/选择字符串的前3个字符(包括空格)以外的所有字符。也就是说,从第4个字符开始选择,如果没有第4个(或第3个或第2个)字符,则不会匹配。
EX1。给定字符串:" ABC COMPANY"
RegEX应匹配"公司"
EX2。给定字符串:" JASON'绘画"
RegEX应匹配" ON' S PAINTING"
EX3。给定字符串" AB"
RegEX不应该匹配任何东西。
我能够提出一个只匹配第一个字符^.{3}\s*
的表达式,但这是我需要的反转。
这没有在任何编程语言中使用,所以我不能使用字符串操作。对于上下文,这是使用Oracle的企业数据质量RegEX替换处理器。
提前致谢。
答案 0 :(得分:4)
我不知道Oracle's Enterprise Data Quality RegEX Replace processor
是否支持Lookaround。但如果它支持,这是通常的正则表达式:
(?<=^...)(.*)
这里使用正面的lookbehind (?<=^...)
,它检查匹配是否在开头的三个字符之后。
答案 1 :(得分:1)
我是正则表达式的新手,但请尝试:(?<=.{3}).+
括号内的部分是一个积极的外观 - 它放弃了匹配,只返回匹配后记录是否可能。 。+标记意味着必须至少有一个字符。如果您知道所有字符都是单词字符(0-9 a-z A-Z和下划线)或空格,我建议用[\ w \ s]替换后面的点。