MATLAB Answers

Problem with regexp Japanese

3 views (last 30 days)
galaxy
galaxy on 12 Mar 2020
Commented: galaxy on 12 Mar 2020
Dear all,
I want to find the file paths in the large string by regexp such as:
As you see, pattern search was good in https://www.regextester.com/ . but in Matlab, Japanese string could not get as following:
>>str = ['a:\fawe\abc\AddNew_.doc '...
'C:\Users\Desktop\AddNew\_Copy_新しいフォルダーof_a.txt'];
>>pattern = '(?:[\w]\:|\\)(\\[a-zA-Z_\-\s0-9\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF\u2605-\u2606\u2190-\u2195\u203B\.]+)+\.(txt|mat|pdf|doc|docx|xls|xlsx|cgt|slx|m)';
>>match_str = regexp(str, pattern, 'match')
match_str =
1×1 cell array
{'a:\fawe\abc\AddNew_.doc'}
Do you have any idea for resolve.
Thank you so much

Accepted Answer

Stephen
Stephen on 12 Mar 2020
Edited: Stephen on 12 Mar 2020
The \u syntax is not valid in MATLAB:
\u3000 % !!! NOT CORRECT !!!
To create a character from hexadecimal use \x:
\x3000
So you will need to change all of your \u... into \x....
  1 Comment
galaxy
galaxy on 12 Mar 2020
I see.
Thank you for your support

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!

Translated by