2013-04-16 2 views
0

Может ли кто-нибудь помочь мне написать регулярное выражение, которое начнет сопоставлять в строке любые числа от 0 до 9, запятые, периоды или круглые скобки до тех пор, пока они будут показываться пробел или один из следующих символов: +, -, * или /?regex, который продолжает сопоставлять числа, пока не достигнет определенного символа

+0

Что делать, если оно попадает в нечто другое, как письмо ...? –

+0

Вы пробовали что-нибудь? Если вы создадите регулярное выражение, которое только * будет сопоставлять любые числа от 0 до 9, запятые, периоды или круглые скобки * несколько раз, оно автоматически не будет соответствовать пробелам или + - */после них. – Bergi

ответ

3

Используйте positive lookahead выражение:

[\d,.()]+($|(?=[-+*/\s])) 
+0

fyi Это не соответствует простому номеру '123', вопрос не ясен, предназначен ли это или нет. – anubhava

+0

Я изменил его так же, как и в конце строки. Не знаю, нужно это или нет. – Barmar

+0

Взгляд совершенно ненужен, не так ли? В любом случае ваш класс символов не будет соответствовать ни одному из этих символов. – Bergi

1

Пока не попадает в пространство или один из этих символов обычно является [^ */+-]+.

Смежные вопросы

 Смежные вопросы