2016-03-11 3 views
1

Как можно выбрать номера, которые seperater из символов, например, в таких случаях:Regex выбора отдельных номеров

1221 ; =123 ; >156 ; != 56 

и игнорировать в shuch тузов:

asd446 ; das64adsa ; 5465sdad ; aasd59.status 
+1

Вы пробовали '\ б \ d + \ b' – anubhava

+0

Используйте [границы слов] (http://www.regular-expressions.info/wordboundaries.html) –

+0

Я использовал, но 'ssss633' is также выбран – Edgar

ответ

1

Как уже говорилось в вы могли бы использовать границы слов так:

\b\d+\b 

Или, в общем, обратные (отрицательные/позитивные) ve lookahead/сзади).
См. a demo on regex101.com.

Только для обучения цели, вы можете также использовать already mentionned lookarounds:

(?<=^|[=>\s])\d+(?=$|[\s]) 

Это говорит: взгляд для начала или=, > или пробельные за и сделать также уверен, что сразу следует либо является концом строки ($), либо пробелом.

0

Попробуйте это регулярное выражение:

((?<=;)[+\-=><! ]+\d+|^\d+)\s*(?=(?:;|$)) 

Пример ввода текста:

1221 ; =123 ; >156 ; != 56 
asd446 ; das64adsa ; 5465sdad ; aasd59.status 
sdkd 55 2 

После запуска на образце, он соответствует

1221 
=123 
>156 
!= 56 
Смежные вопросы