string.Like

文字列を指定されたパターンと比較します。


taiseiue | 2025-02-13

定義

名前空間: Alice.Regex
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Regex.cs

Like(this string,string)

文字列が一定のパターンと一致するかどうかを調べます。

AliceScript
namespace Alice.Regex;
public bool Like(this string input, string pattern);
引数
input 比較する文字列
pattern 比較するパターン
戻り値
bool 入力文字列がpatternと一致する場合はtrue、それ以外の場合はfalse

対応
AliceScript 3.0、4
AliceSister 3.0、4
Losetta 0.10、0.11

説明

このメソッドは、入力文字列をpatternで指定されたワイルドカードを含むパターンと比較します。このメソッドで使用できるパターンと対応する正規表現と意味について示します。

パターン 正規表現 意味
? . 任意の一文字
* .* 0個以上の任意の文字
# \d 任意の数字一文字
[clist] [clist] clist内の任意の一文字
[!clist] [^clist] clist以外の任意の一文字

patternには上記以外のパターンを適用することはできません。patternに渡された文字列は事前に、regex_escape関数を使用してエスケープされます。

このメソッドによる文字列比較は、VisualBasicのLike演算子を使った比較と互換性があります。このメソッドはpatternを内部で正規表現に変換し実行するため、動作速度は正規表現の比較と同じかそれ以下です。

一般に、正規表現の検索は時間がかかる操作です。そのため、"特定の文字列から始まる"や、"特定の長さ以内"などの簡単な条件に対する調査にはstring.StartsWithstring.Lengthを使用してください。

次の例では、文字列が郵便番号の形式###-####かを確認しています。

AliceScript
using Alice.Regex;

print("123-4567".Like("###-####"));
//出力: true

print("090-1234-5678".Like("###-####"));
//出力: false