問題タブ [lua-patterns]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - Lua 文字列マッチングを使用した電卓
私は最近、文字列操作をいじって、文字列を 1 つだけ取り、答えを返す電卓を作成しようとしました。これを行うには単純に loadstring を使用できることはわかっていますが、文字列操作についてもっと学ぼうとしています。これは私がこれまでに持っているものです:もっと効率的にする方法はありますか?
string - Lua での ^ と gsub の使用
上記のコードがあります。
^
上記のコードでの演算子の使用法を知りたかったのです。セット内の後続の値を除外/否定するためにセットで使用されていることは知ってい^
ますが、セットではないため、何を^
意味しますか?gsub
上記のコードで が 2 回使用されているのはなぜですか? どちらの場合も、文字は大文字に変換されています! 上記のコード行で正確に何が起こっているのか説明してください。
lua - 正規表現 (\\.|.) に代わる Lua パターンはありますか?
(\\.|.)
次のように、正規表現を使用して文字をバックスラッシュでエスケープできる文字列をトラバースするための一般的なイディオムがあります。
それは JavaScript にあります。このコードは、文字列some\astring
を に変更します[s][o][m][e][\a][s][t][r][i][n][g]
。
Lua パターンが OR 演算子をサポートしていないことはわかっているため、この正規表現を直接 Lua パターンに変換することはできません。
それでも、私は疑問に思っていました.Luaパターンを使用して、Luaでこれを行う(エスケープされた可能性のある文字をトラバースする)別の方法はありますか?
string - Lua gmatch 奇数文字 (スロバキアのアルファベット)
スロバキア語の単語の文字列から文字を抽出しようとしています。たとえば、「TURTLE」の単語は「KORYTNAČKA」です。ただし、文字列から抽出しようとすると、「Č」文字がスキップされます。
私はこのページを読んでいて、文字列自体をセットとして貼り付けようとしましたが、何か変なものが出てきました:
誰でもこれを解決する方法を知っていますか?
string - Lua 5.1 の "[\0-\x7F\xC2-\xF4][\x80-\xBF]*" に相当するパターン
この質問に答えるとき、文字列内の UTF-8 バイト シーケンスを反復処理する次のコードを書きました。
Lua 5.2 では動作しますが、Lua 5.1 ではエラーが報告されます。
不正なパターン (「]」がありません)
Lua 5.1 では文字列リテラルがサポートされていなかったことを思い出した\xhh
ので、次のように変更しました。
しかし、エラーは同じままです。どうすれば修正できますか?