regexpを使用してテキストから指定のルールに従う”小文字”の文字列を抜き出す方法について
7 ビュー (過去 30 日間)
古いコメントを表示
基本的な質問で恐縮なのですが,下記教えていただけると幸いです
下記のようなスクリプトを組んだとします
expression = {'AA_\w*'};
matchStr = regexp(text, expression,'match'}・・・①
ここでtextは既にWorkspaceに読み込んだテキストだと思ってください(char型です)
このように記述したときに,AA_に続く文字が大文字でも小文字でも抜き出してしまうと思うのですが,
AA_に続くものを小文字の文字列に限定したい場合,①の記述をどのようにかえればよろしいでしょうか
よろしくお願いいたします.
0 件のコメント
採用された回答
Atsushi Ueno
2022 年 4 月 21 日
% \w は [a-zA-Z_0-9] と等価です。
という事でメタ文字\wには大文字/小文字の区別が無いので、長くなりますが自分で書く必要がありそうです。
expression = {'AA_[a-z_0-9]*'};
3 件のコメント
Atsushi Ueno
2022 年 4 月 25 日
expression = {'AA_\w*'};
のメタ文字\wを[a-z_0-9]に変更して
expression = {'AA_[a-z_0-9]*'};
としたので、大文字を拾わなくなる以外の仕様は元から変わっていないはずです。
expression = {'AA_[a-z_0-9]+'};
と量指定子の*(0 回以上の繰り返し)を+(1 回以上の繰り返し)に変更すれば、”AA_”のように後ろに何も文字が続かないものをリストアップしなくなります。
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!