問題タブ [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「プレーン」string.gsub
文字列解析で小さなブロックをヒットしました。次のような文字列があります。
gsub を使用して文字列の一部を削除するのに苦労しています。通常、私はこれを行います
通常、「cars_[100]_upper.exr」が表示されます
問題は、gsub が文字列内の [] やその他の特殊文字を好まず、string.find とは異なり、gsub には「plain」フラグを使用してパターン検索をキャンセルするオプションがないことです。
ファイル比較スクリプトを実行しているため、行を手動で編集して特殊文字のエスケープ文字を含めることができません。
lineA
newline を使用して取得するための助けをlineB
いただければ幸いです。
lua - Lua でのパターン マッチングに関するいくつかのパターン マッチングの問題
私が使用しているプログラムの天気予報に取り組んできましたが、ほとんどの場合、うまく機能しています。これが私がこれまでに持っているものです。(zs.stuff には注意してください。これはプログラム固有のものであり、Lua コーディングとは関係ありません。)
私の主な問題は次のとおりです。「条件」を変更し、「画像」変数を現在のものに追加しました。一致するはずの行が Web ページから直接来ているにもかかわらず、まったく一致しません。だから、このコードが機能しないのは何が欠けているのだろうと思っています。
<td class="vaM taC">
< img src="http://icons-ecast.wxug.com/i/c/a/[%w_]+.gif"を取り出すと、
完全に条件に一致します。(何らかの理由で、上記の行を正しく表示することはできませんが、`< と img の間にスペースはありません)
誰がそれの何が悪いのか指摘できますか? パターン マッチングは別として、この行は Web ページからそのまま引用したものであることを保証します。
私が持っていた別の質問は、改行をまたいで一致させる機能です。これを行う方法はありますか?私が質問する理由は、同じページで、照合する必要があるもののいくつかが別の行に分割されており、照合したい実際のパターンがページの他の場所に表示されるためです。正確なパターンを取得するために改行全体で一致できるようにします。
regex - Luaパターンマッチングと正規表現
私は現在luaを学んでいます。luaでのパターンマッチングに関して、lua.orgのluaドキュメントで次の文を見つけました。
それにもかかわらず、Luaのパターンマッチングは強力なツールであり、標準のPOSIX実装とのマッチングが難しいいくつかの機能が含まれています。
私はposixの正規表現に精通しているので、正規表現と比較してluaパターンマッチングが「優れている」一般的なサンプルがあるかどうかを知りたいのですが、それとも文を誤解しましたか?そして、一般的な例がある場合:パターンマッチングと正規表現のどちらかがより適しているのはなぜですか?
string - Luaでは、カスタム関数なしでN番目の結果を簡単に選択できますか?
次のように文字列をテーブルに挿入するとします。
これは、:mystring
で出現するすべての「a」を「b」に置き換えることによって生成されinput
ます。
gsub
2つの結果を返すため、2つを1つのステートメントに結合する明白な方法は機能しません。
これは、複数のリターン値をサポートするために支払われる価格だと思います。問題は、最初の戻り値だけを選択するための標準の組み込みの方法があるかどうかです。私が見つけたときselect
、それはまさにそれがしたことだと思いましたが、残念ながら、それは実際にはN以降のすべての結果を選択するので、このシナリオでは役に立ちません。
select
これで、自分自身を次のように定義できることがわかりました。
しかし、これを行うための組み込みの方法を期待しているので、これは正しく見えません。
だから、私はいくつかの組み込みの構造が欠けていますか?そうでない場合、Lua開発者は別の変数を使用して正しい引数を抽出したり、独自のselect1
関数を記述したりする傾向がありますか?
lua - Luaパターンの論理「または」?
Luaで達成することは可能ですか?
ここでのポイントは、Lua パターンで論理「or」ステートメントを受け入れないことです。
編集:これを行うことで可能であることに気付きました:
パターンの論理「または」はまだありませんが。
lua - Lua での文字列のパターンマッチ
Luaを使用してテーブルに分割する次の文字列があります:(データは互いに整列されています。このサイトでそのようなフォーマットを記述する方法がわかりませんでした)
IP: 192.168.128.12
MAC: AF:3G:9F:c9:32:2E
有効期限: Fri Aug 13 20:04:53 2010 残り
時間: 11040 秒
結果は次のようにテーブルに配置する必要があります。
t = {"IP": "192.168.128.12", "MAC": "AF:3G:9F:c9:32:2E", "Expires": "2010 年 8 月 13 日金曜日 20:04:53", "残り時間":"11040 秒"}
私は試しました:
それが私の最善の試みでした。
string - //の値を抽出/置換するためのLuaパターン
私は次のような文字列を持っていますhello /world today/
に置き換える必要があり/world today/
ます/MY NEW STRING/
私が見つけたマニュアルを読む
置換に使用できますがgsub
、の間のテキストだけを返すエレガントな方法もあるのではない/
かと思いました。トリミングするだけでよいのはわかっていますが、パターンがあるのではないかと思いました。
string - Lua 文字列の置き換え
どうすればいいですか?
私はこれを得た:
「こんにちは」を返す必要がありますが、キャレット文字をパターン文字として取得します
これに対する回避策は何ですか?(gsub で行う必要があります)
lua - 引用されたテキストの適切なLuaパターンは何ですか?
私はこれを1時間または2時間遊んでいて、Luaパターンマッチングユーティリティのある障害物にいることに気づきました。文字列内の引用符で囲まれたすべてのテキストを照合し、必要に応じて置き換えようとしています。
私がこれまでに思いついたパターンは次のとおりです:(\?[\ "\'])(.-)%1
これは場合によっては機能しますが、すべての場合ではありません。
動作しない例では、一致させたい(希望する一致を取得する関数を作成しました。gsubで使用するパターンを探しているだけで、luaパターンでこれができるかどうか知りたいです):
とりあえず代わりに関数を使い続けるつもりですが、使うことができる/すべきパターンがあり、パターンのあるものが欠けているだけなのか気になります。
(スタックオーバーフローのフォーマットを忘れたb / cのいくつかの編集)(htmlを解析しようとしているという仮定につながっていたため、html以外の例を作成するための別の編集)
xml - Lua でパターンに一致する最初の文字列を見つける (XML パターン マッチング)
現在、次のコードを使用して Xml ファイルの一部を解析しています (最初にファイル全体を 1 つの文字列に読み取りました)。
私が抱えている問題は、gmatch 関数が MyXmlElement の最初のインスタンスで始まり、MyXmlElement の最後のインスタンスの終了で終わる単一の文字列のみを返すため、for ループが 1 回しか実行されないことです。"</MyXmlElement>"
文字列が最初に見つかったとき (最後のケースのみではなく)にパターンが一致するように、文字列を解析するにはどうすればよいですか?