Regex 正则表达式转换为Oracle表达式-(\b |\d)(?i)INT(\b |\d)
我有这样一个正则表达式:Regex 正则表达式转换为Oracle表达式-(\b |\d)(?i)INT(\b |\d),regex,oracle,Regex,Oracle,我有这样一个正则表达式: (\b|\d)(?i)INT(\b|\d) 我想穿什么就穿什么 但当试图让它与Oracle的正则表达式一起工作时。。。我从这个开始: 选择从DUAL中找到的REGEXP|INSTR('INT','(\b|\d)(?i)INT(\b|\d)),其中1=1 各种各样的变化,但没有成功,希望得到一些帮助 注意:第一个参数“INT”当然是我要搜索的表中的一个字段,等等如果您计划只检查匹配项,您可以将\b分解为(^ |\W |\d)($\W |\d),并使用: 选择REGEXP_
(\b|\d)(?i)INT(\b|\d)
我想穿什么就穿什么
但当试图让它与Oracle的正则表达式一起工作时。。。我从这个开始:
选择从DUAL中找到的REGEXP|INSTR('INT','(\b|\d)(?i)INT(\b|\d)),其中1=1代码>
各种各样的变化,但没有成功,希望得到一些帮助
注意:第一个参数“INT”当然是我要搜索的表中的一个字段,等等如果您计划只检查匹配项,您可以将\b
分解为(^ |\W |\d)
($\W |\d)
,并使用:
选择REGEXP_INSTR('INT','(^ |\W |\d)INT($|\W |\d)',1,1,0,'i')
这里,(^ |\W |\d)INT($|\W |\d)
匹配
(^ |\W |\d)
-字符串、非单词字符或数字的开头
INT
-一个INT
字符串
($|\W |\d)
-字符串结尾,或非单词字符或数字
第六个参数是match参数参数,'i'
表示不区分大小写。因此,此函数将返回匹配项(参见第五个return_选项参数)的第一个匹配项(参见第四个匹配项参数)的第一个字符的位置,该位置从字符串中的第一个字符开始搜索(参见第三个位置参数)
要使用此单一正则表达式方法返回INT
的确切位置是不可能的,由于\W
将在开始时使用非单词字符。这与\b
的宽度为零不同,如果匹配了\W
,则您将在匹配开始之前找到字符的索引。@MT0这里的要点是检查是否有匹配。这就足够了。