この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
vci:script:tips:stringsearch [2022/07/25 17:17] Ramen [match()関数でパターン一致で検索する] |
vci:script:tips:stringsearch [2023/11/30 20:01] pastatto Lua 5.2 リファレンスマニュアルのページをWikiページに差し替え |
||
---|---|---|---|
ライン 40: | ライン 40: | ||
検索したい文字が見つからない場合はnilとなり、一致すれば一致した箇所が何番目にあるかの値を返します。\\ | 検索したい文字が見つからない場合はnilとなり、一致すれば一致した箇所が何番目にあるかの値を返します。\\ | ||
つまり、find()で検索してnilにならなければ、検索した文字が含まれている事になります。\\ | つまり、find()で検索してnilにならなければ、検索した文字が含まれている事になります。\\ | ||
- | find()の詳細は [[http://milkpot.sakura.ne.jp/lua/lua52_manual_ja.html#pdf-string.find|string.find()]] を参考にしてください。 | + | find()の詳細は [[vci/script/luareference|Lua 5.2 リファレンスマニュアル]] - string.find() を参考にしてください。 |
===== match()関数でパターン一致で検索する ===== | ===== match()関数でパターン一致で検索する ===== | ||
ライン 47: | ライン 47: | ||
その場合、Luaのパターンを使って文字列の検索等を行います。 | その場合、Luaのパターンを使って文字列の検索等を行います。 | ||
- | match()関数については [[http://milkpot.sakura.ne.jp/lua/lua52_manual_ja.html#pdf-string.match|string.match()]] を参考にしてください。\\ | + | match()関数については [[vci/script/luareference|Lua 5.2 リファレンスマニュアル]] - string.match() を参考にしてください。\\ |
- | Luaのパターンについては [[http://milkpot.sakura.ne.jp/lua/lua52_manual_ja.html#6.4.1|パターン]] を参考にしてください。 | + | Luaのパターンについては [[vci/script/luareference|Lua 5.2 リファレンスマニュアル]] - 6.4.1 パターン を参考にしてください。 |
**コメントに含まれた数値を調べる** | **コメントに含まれた数値を調べる** | ||
ライン 85: | ライン 85: | ||
次に ''5'' というパターンで検索しますが、存在しないので ''nil'' になります。 | 次に ''5'' というパターンで検索しますが、存在しないので ''nil'' になります。 | ||
- | 正規表現で ''%d'' は**全ての数字**を意味します。\\ | + | Luaのパターンで ''%d'' は**全ての数字**を意味します。\\ |
なので ''%d'' (数字1桁)のパターンに合った箇所を検索し、最初に一致する ''1'' を返しています。\\ | なので ''%d'' (数字1桁)のパターンに合った箇所を検索し、最初に一致する ''1'' を返しています。\\ | ||
''%d+'' とした場合、**数値が繰り返されている最長の箇所**を意味します。\\ | ''%d+'' とした場合、**数値が繰り返されている最長の箇所**を意味します。\\ | ||
なので、最も数値が連続している箇所の ''123'' を返します。 | なので、最も数値が連続している箇所の ''123'' を返します。 | ||
- | 数字や+記号以外にも様々な表現方法があるので [[http://milkpot.sakura.ne.jp/lua/lua52_manual_ja.html#6.4.1|パターン]] を参考にしてください。 | + | 数字や+記号以外にも様々な表現方法があるので [[vci/script/luareference|Lua 5.2 リファレンスマニュアル]] - 6.4.1 パターン を参考にしてください。 |