Recovering text between parentheses using regexp
43 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to create a regular expression using which i can recover the string between two parenthesis. I have created the following expression
exp='[^(]+.*[^)]+';
matchStr = regexp(str,exp,'match');
This expression works fine if the string is off any one of the formats mentioned below:
a) str = '(1r)';
b) str = '(0.5;0.5;'rrr')'; etc
but does not work if the string is off the form
str = '(r)'; or str = '(1)';
i.e. it doesn't pick up string which are just off 1 character between the parenthesis. I think i am missing something very basic here. Is it that regex will not work for single characters and will only work for strings?
Thanks in advance,
Regards,
Giri
采纳的回答
Fangjun Jiang
2018-5-7
exp = '[^()]*'; should be it.
2 个评论
Fangjun Jiang
2018-5-7
doc regexp
[^c1c2c3]: Any character not contained within the brackets.
expr*: 0 or more times consecutively.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String Parsing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!