問題タブ [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 でのバランスの取れたブラケットのオプションのキャプチャ
次の形式の行があるとします。
ご覧のとおり、括弧で囲まれた式はオプションです。
Lua の を使用してこれらの文字列を解析できますstring.match()
か?
次のパターンは、角かっこを含む行で機能します。
しかし、オプションのブラケットも処理できるパターンはありますか? 以下は機能しません。
これを解決するためにパターンを別の方法で書くことはできますか?
string - 文字列内の名前の出現を確認する方法は?
次のように、1 つの変数にスペースで区切られた名前のリストがあります。
私が欲しいのは、このリストに指定された名前が存在することを確認することです。お気に入り
string - Lua に最大で 1 つの間違った文字がある場合、文字列を比較します
単語があり、それが別の単語と等しいかどうかを確認したい。そうだとすればすべて正しいのですが、間違った文字が 1 つ (そして 1 つだけ) ある場合も正しい可能性があります。
どうすれば分割できword2
ますか?
lua - この Lua パターンが機能しないのはなぜですか?
私の正規表現はhttp://regexr.com?37voiで正常に動作します。
に変更すると("^(%w+)%s+(%w+)%s+")
、次のように出力されます。
querycreate
に設定してから引用符を削除する"create user dddqwd123_dwqd @ localhost"
と^(%w+)%s+(%w+)%s+(%w+) @ (%w+)$
、出力は正常になります。
string - パスに一致する Lua パターン
ファイル パスを表す文字列を取得し、ファイル名を削除して、パスだけを保存したいと思います。
たとえば、私が持っている場合:
私は私の文字列で終わりたいと"/folder1/folder2/"
思います。
ここに記載されているように、私は遊んでいstring.match()
ます: http://lua-users.org/wiki/StringLibraryTutorial
次のコードがあります。
このスクリプトを実行すると、'/' だけが返されます。文字列内の 2 つの「/」の位置が返されることを期待していました。"%/"
パターンを justに置き換えてみました"/"
が、同じ結果が得られます。
非常に単純なものが欠けていると確信していますが、それが何であるかわかりません。
arrays - gmatchによって返されたリストからLuaで配列を作成する
私はLuaでプログラミングしていますが、これまでのところこれを持っています。
どうやってやるの。
lua - string.find が最初のキャプチャではなく、パターン全体のインデックスを返すのはなぜですか?
このコードの動作について疑問に思っていました:
2 つの行は両方とも異なる文字列を探して返しますが、参照のフレームが同じであるため、同じインデックスを返します。つまり、インデックスの計算時にキャプチャは無視されますが、その後は正常に返されます。
私の最初の質問は何がうまくいかなかったのかということでしたが、実際にはマニュアルがこれが適切な動作であることを示していることがわかりました (あまり明確ではありませんが)。
問題は、そのマーカーの位置を返さずに、近くのマーカーに基づいて何かを見つけようとしていたことです。最初のキャプチャの位置があれば、その位置を返すことを期待string.find
していたので、位置が必要な部分を括弧で囲みました。明らかに、それは役に立ちませんでした。問題に対する別の (そしてより良い) 解決策を見つけましたが、それが常に可能または便利だとは思いません。
string.find
このように振る舞う理由はありますか?ユーザーにとって特にメリットはありますか?Luaを完全に使いこなせば、深刻な問題を引き起こすことは実際にはありませんか?
string - Lua で指定された URL 文字列のパターンを見つける
私の Lua コードでは、多くの URL を文字列形式で受け取っています。
例 :
次のような URL を取得したい:
https://www.xyz.com/v/123443/css/
は v
事前定義された文字列パターンであり123443
、URL に対して生成されたランダム バージョンです。
次のように、そのパターンを含むすべての URL を取得するのを手伝ってください。
"/v/12332323/"