Top > マニュアル > 関数 > RE_SEARCH
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | バックアップ | 凍結 ]

RE_SEARCH

形式

RE_SEARCH( string , regexp )

機能

  • 処理対象文字列内に正規表現とマッチする部分があるかどうかを調べます。
  • 結果の詳細は RE_GETSTR , RE_GETPOS , RE_GETLEN で取得します。

引数

string
対象の文字列。
regexp
正規表現。

返り値

  • マッチする部分がある場合、1
  • それ以外の場合、0

関連

バージョン

  • YAYA:初期から利用可能

例えばinputboxを使って会話っぽいものを作りたいなら

\![open,inputbox,OnTalk,0]
OnTalk{
 if (RE_SEARCH(reference[0], 'こんに?ち[はわ]|今日[はわ]|コンニチ[ハワ]')){
  "こんにちは、%(username)"
 }
}

これで"こんにちは", "こんにちわ", "こんちは", "こんちわ", "今日は", "今日わ", "コンニチハ", "コンニチワ"のどれかが文中に入っていた時(例えば"こんにちはー、ほにゃらら"など)、"こんにちは、%(username)"が返される。

tipsとして

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

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