コンテンツにスキップ

RE_SEARCH

Category: 正規表現

書式

RE_SEARCH( string , regexp )

引数

Parameter Description
string 検索対象の文字列
regexp 正規表現パターン

戻り値

  • 1: マッチする部分が見つかった場合
  • 0: マッチしなかった場合

解説

処理対象文字列内に正規表現とマッチする部分があるかどうかを調べます。文字列全体の完全マッチを調べる場合は RE_MATCH を使用してください。

マッチした詳細は RE_GETSTR、RE_GETPOS、RE_GETLEN で取得できます。

使用例

if (RE_SEARCH(reference[0], 'こんに?ち[はわ]|今日[はわ]')){
  "こんにちは、%(username)"
}

ユーザー入力に「こんにちは」や「こんにちわ」等が含まれていればあいさつを返す例。\![open,inputbox,OnTalk,0] でインプットボックスを開いておくと、会話っぽいものを作れる。この例は、「こんにちは」「こんにちわ」「こんちは」「こんちわ」「今日は」「今日わ」「コンニチハ」「コンニチワ」のどれかが文中に入っているとき(たとえば「こんにちはー、ほにゃらら」など)に反応する('こんに?ち[はわ]|今日[はわ]|コンニチ[ハワ]' と書いた場合)。

Tips として、次のようにすると、文末に ? か ? があるとき(たとえば「元気?」「ハンガーって美味しいよね?」など)、常に「そうかもしれない」と返すので、会話が成立しやすい(返答パターンは増やすべきだが)。

if (RE_SEARCH(reference[0], '(?|\?)$')){
    "そうかもしれない"
}

互換性

  • YAYA: 初期バージョンより対応

関連項目