字符串中的正则表达式(直到空格)

时间:2009-10-02 17:30:42

标签: regex

我有以下代码段

cv_13221 IN OUT SYS_REFCURSOR,

并且只想获得cv_13221。

我尝试了以下正则表达式

cv_.*\s

但它抓住了我

cv_13221 IN OUT 

如果首次出现\ s

,我该怎么做才能停止

我在regex buddy中尝试这个

3 个答案:

答案 0 :(得分:4)

尝试:

cv_\S+

'\ S'中的首都'S'表示:匹配非空格字符。当然,+表示一个或者一个。 或者:

cv_\d+

当它总是在下划线之后的数字时:最好在处理正则表达式时尽可能具体。

答案 1 :(得分:2)

。*贪婪。它会在最后一个空间之前尽可能多地抓取它。试试这个:

cv_[^\s]*

答案 2 :(得分:1)

使用不情愿的Kleene闭合而不是贪婪的闭合。通常这是它的语法:

cv_.*?\s

通常,Kleene闭包运算符(*)将尽可能匹配。不情愿的Kleene闭包运算符(*?)匹配尽可能少。