Main Content

wildcardPattern

任意の種類のできるだけ少ない文字に一致

R2020b 以降

説明

pat = wildcardPattern は、必要に応じて、できるだけ少ない数 (0 文字を含む) の任意の文字に一致するパターンを作成します。wildcardPattern"最短一致" であり、入力なしで単体で使用した場合、string 内の文字の前または後ろにある空の string ("") に一致します。

pat = wildcardPattern(N) は、ちょうど N 個の文字に一致するパターンを作成します。

pat = wildcardPattern(minCharacters,maxCharacters) は、最小 minCharacters 個、最大 maxCharacters 個に一致します。inf は、maxCharacters に対する有効な値です。wildcardPattern は、minCharacters にできるだけ近い数の文字に一致します。

pat = wildcardPattern(___,"Except",exceptPat) は、一致から除外する例外を指定します。wildcardPattern は、パターン exceptPat で指定されたものを除く任意の文字に一致します。

すべて折りたたむ

関数 wildcardPattern "最短一致" です。これは、任意の種類のできるだけ少ない数 (0 個も含む) の文字に一致するという意味です。

string から wildcardPattern を抽出します。string 内の 2 つの連続する文字の間には空の string があります。また、先頭文字の前、末尾文字の後ろにもあります。そのため、extract は一致し、この string に対して 5 つの空の string が抽出されます。

txt = "lazy";
emptyStr = extract(txt,wildcardPattern)
emptyStr = 5x1 string
    ""
    ""
    ""
    ""
    ""

strlength(emptyStr)
ans = 5×1

     0
     0
     0
     0
     0

wildcardPattern がその他のパターンに制限される場合、一致させるパターン式について最も少ない数の文字に一致します。

txt = "aa aba abaa a a123a a!?.a";
pat = "a" + wildcardPattern + "a";
extract(txt,pat)
ans = 6x1 string
    "aa"
    "aba"
    "aba"
    "a a"
    "a123a"
    "a!?.a"

wildcardPattern を使用して、全種類の個別の文字に一致させます。

関数 fileread を使用して、シェークスピアのソネットからテキストを読み取り、string に変換します。

sonnets = string(fileread('sonnets.txt'));
strip(extractBetween(sonnets,"Shakespeare","But"))
ans = 
    "I
     
       From fairest creatures we desire increase,
       That thereby beauty's rose might never die,"

任意の種類の 1 つの文字に一致するパターン pat を作成します。パターンを抽出します。string 配列 characterscategorical に変換し、histogram に有効な入力になるようにします。histogram を使用して、各文字の出現を表示します。

pat = wildcardPattern(1);
characters = extract(sonnets,pat);
characters = lower(characters);
characters = categorical(characters);
histogram(characters)

Figure contains an axes object. The axes object contains an object of type categoricalhistogram.

txt を string として作成します。1 つの空白の後に、2 ~ 3 個のワイルドカード文字、その後に 1 つの文字が続くものに一致するパターンを作成します。txt からパターンを抽出します。

txt = "1a 23b 456c 7890d";
pat = " " + wildcardPattern(2,3) + lettersPattern;
extract(txt,pat)
ans = 2x1 string
    " 23b"
    " 456c"

wildcardPattern を使用して、コンマ区切りリストを分離します。

txt を string として作成します。"," の後に空白文字が続くものを除く、任意の種類のできるだけ多くの文字に一致する wildcardPattern を使用して、パターンを作成します。パターンを抽出します。

txt = "1 fish, 2 Fish, [1,0,0] fish, [0,0,1] fish";
exceptPat = "," + whitespacePattern;
pat = asManyOfPattern(wildcardPattern(1,inf,"Except",exceptPat),1);
extract(txt,pat)
ans = 4x1 string
    "1 fish"
    " 2 Fish"
    " [1,0,0] fish"
    " [0,0,1] fish"

入力引数

すべて折りたたむ

一致する文字数。非負の整数スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

一致する最小文字数。非負の整数スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

一致する最大文字数。非負の整数スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

ワイルドカード一致の例外。pattern オブジェクト、文字ベクトル、または string スカラーとして指定します。wildcardPattern は、この指定された例外に一致する文字を除く任意の文字に一致します。

例: pat = wildcardPattern("except",digitsPattern) は、数字を除外するパターンを作成します。

データ型: pattern | char | string

出力引数

すべて折りたたむ

パターン式。patternオブジェクトとして返されます。

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2020b で導入