how to use regexp for negative and positive integers?

16 views (last 30 days)
hello,
I have a trouble using regexp. I read a sensor value that can contain negative or positive integers and I need both. but until now I only get one of it(only positive integers o negative integers). here is my code that only reads positive integers:
FSR1 = regexp(FSR1,'\d+(\.)?(\d+)?','match');
and these are some types of integers that I`m reading:
'204'
'203'
'191'
'133'
'63'
'-28'
'-109'
'-145'
'-196'
'-134'
can someone help me, please?

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 3 Jun 2016
Edited: Andrei Bobrov on 3 Jun 2016
a = {'204'
'203'
'191'
'133'
'63'
'-28'
'-109'
'-145'
'-196'
'-134'}
FSR1 = str2double(regexp(a,'[-]?\d+(\.)?(\d+)?','match','once'))

More Answers (1)

Stephen23
Stephen23 on 3 Jun 2016
Edited: Stephen23 on 3 Jun 2016
This regular expression allows an optional +/- sign and decimal digits:
>> regexp(FSR1, '(+|-)?\d+(\.\d+)?', 'match', 'once')
ans =
'204'
'203'
'191'
'133'
'63'
'-28'
'-109'
'-145'
'-196'
'-134'

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!