регулярное выражение в строке (до пробела) - PullRequest
0 голосов
/ 02 октября 2009

У меня есть следующий фрагмент

cv_13221 IN OUT SYS_REFCURSOR,

и просто хочу получить cv_13221 из этого.

Я попробовал следующее регулярное выражение

cv_.*\s

но меня это достает

cv_13221 IN OUT 

что я могу сделать, чтобы остановить его при первом появлении \ s

Я пытаюсь сделать это в regex, приятель

Ответы [ 3 ]

4 голосов
/ 02 октября 2009

Попробуйте:

cv_\S+

Заглавная буква «S» в «\ S» означает: соответствует непробельный символ. И + означает, конечно, один или нор. Или:

cv_\d+

когда после подчеркивания всегда идут цифры: лучше всего быть как можно точнее при работе с регулярным выражением.

2 голосов
/ 02 октября 2009

. * Жадный. он захватит столько, сколько сможет, до последнего места. попробуйте это:

cv_[^\s]*
1 голос
/ 02 октября 2009

Используйте жадное закрытие Клини вместо жадного. Обычно это синтаксис:

cv_.*?\s

Обычно оператор замыкания Клини (*) будет максимально соответствовать. Неохотный оператор замыкания Клини (*?) соответствует как можно меньшему количеству.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...