oracle 函数regexp_like 同时匹配多字段

正则:'^(([1-9][0-9]*.[0-9]+)|(0.[0-9]+)|([1-9][0-9]*.[0-9]+)|([1-9][0-9]*))$'
就是表里面有很多字段要同时做正则匹配 如果这样 regexp_like(a,正则) and regexp_like(b,正则) 倒是可以满足要求,可是有的字段太多那样写有些麻烦,后面试了regexp_like(a||b,正则), 可是a或b字段有些值为空的也查出来了,麻烦看下有什么方法能只写一个regexp_like就能解决的