Why do strfind and regexp may lead to a different result?
    5 views (last 30 days)
  
       Show older comments
    
Hi all,
I noticed that regexp and strfind may lead to different results. Here an example:
regexp('Infinitely Variable Transmission (IVT)','Infinitely Variable Transmission (IVT)')
Why does it occur?
Thanks
3 Comments
Accepted Answer
  Adam
      
      
 on 12 Jun 2017
        
      Edited: Adam
      
      
 on 12 Jun 2017
  
      regexp( 'Infinitely Variable Transmission (IVT)', 'Infinitely Variable Transmission \(IVT\)' )
works, but you have to escape the parenthesis as they have special meaning in a regexp expression.
if you look in
doc regexp
in the section headed 'Split Text at Delimiter Using split Keyword', there is an example of this for escaping the ^ symbol.
More Answers (1)
  Walter Roberson
      
      
 on 12 Jun 2017
        In the general case, regexp can return different results if the pattern includes metacharacters.
There is a routine that can be used to "escape" characters so that they are treated literally, but the routine name is not coming to mind at the moment.
1 Comment
  Walter Roberson
      
      
 on 12 Jun 2017
				regexptranslate() with the 'escape' option is suitable for this purpose.
See Also
Categories
				Find more on Characters and Strings in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!