我有以下代码段
cv_13221 IN OUT SYS_REFCURSOR,
并且只想获得cv_13221。
我尝试了以下正则表达式
cv_.*\s
但它抓住了我
cv_13221 IN OUT
如果首次出现\ s
,我该怎么做才能停止我在regex buddy中尝试这个
答案 0 :(得分:4)
尝试:
cv_\S+
'\ S'中的首都'S'表示:匹配非空格字符。当然,+表示一个或者一个。 或者:
cv_\d+
当它总是在下划线之后的数字时:最好在处理正则表达式时尽可能具体。
答案 1 :(得分:2)
。*贪婪。它会在最后一个空间之前尽可能多地抓取它。试试这个:
cv_[^\s]*
答案 2 :(得分:1)
使用不情愿的Kleene闭合而不是贪婪的闭合。通常这是它的语法:
cv_.*?\s
通常,Kleene闭包运算符(*
)将尽可能匹配。不情愿的Kleene闭包运算符(*?
)匹配尽可能少。