問題タブ [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.

0 投票する
2 に答える
1585 参照

lua - lua:パターンマッチングと電話番号の抽出

Luaで次の要件を持つ関数を作成するのに問題があります。

  • 文字列phone_numberと2桁country_codeを入力として受け取ります。
  • phone_numberの形式は{1|| ""}{ country_code}{10または11桁の携帯電話番号}

10桁または11桁の携帯電話番号を出力する必要があります。

I / Oの例:

phone_number= "552234332344"、country_code= "55" => "2234332344"

phone_number= "15522343323443"、country_code= "55" => "22343323443"

ありがとう!

0 投票する
1 に答える
416 参照

lua - Luaパターンの大文字と小文字をLPegで区別する

私は(とりわけ)プレーンテキスト検索とLuaパターンを使用した検索をサポートするアプリを持っています。便利なように、アプリは大文字と小文字を区別しない検索をサポートしています。画像スニペットは次のとおりです。

((

与えられたLuaパターンを大文字と小文字を区別しないLuaパターンに変換するコードはあまりきれいではありません。基本的に、文字の前に奇数または偶数のエスケープ(%)が付いているかどうか、および角かっこ内にあるかどうかが心配です。画像に示されているパターンは次のようになります%a[bB][bB]%%[cC][%abB%%cC]

私はまだLPegを学ぶ機会がありませんでした、そしてこれが私の動機であるかもしれないと思います。

私の質問は、これがLPegで簡単に処理できたものかどうかです。

0 投票する
1 に答える
209 参照

string - Luaパターンクエリ

大きな文字列から「ジョン」という単語を検出する必要があります。「ジョンはいい人だ」と言う ので、このパターンで単語を見つけます。

次のように使用します。


文字が複数回出現するかどうかを受け入れるために(たとえば、jooohnはいい人です)、パターンを次のように変更します

単語の間にある可能性のあるスペース(またはその他のアルファベット以外の文字)を無視する必要があるため(たとえば、joh; nはいい人です)、各文字に[^ az] *を追加すると、結果のパターンは次のようになります。

さて、これは「jooh!nはいい男だ」のような言葉にぴったりです。しかし、もし繰り返し文字内に記号が表示され、パターンが失敗します。たとえば、jo!ohnは良い人で、パターンは検出されません。これを実現するためにパターンを変更するにはどうすればよいですか?

編集

例:

これは印刷されます 1 7

だが

シナリオ2でjoo!ohnnil を検出できるパターンが必要な場合のみ印刷します

0 投票する
2 に答える
127 参照

lua - ("bar"):find("(foo)?bar") が nil を返すのはなぜですか?

("bar"):find("(foo)?bar")返してはいけません1, 3か?

print(("bar"):find("(foo)*bar"))どちらも機能しprint(("bar"):find("(foo)-bar"))ません。

0 投票する
2 に答える
3906 参照

lua - Lua パターンマッチング

RTF 形式のタグを持つ Microsoft Lync 会話から値を引き出して取得したファイルがあります。サンプル ファイルは次のようになります。

{\rtf1\fbidis\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 >Segoe UI;}{\f1\fnil Segoe UI;}} {\colortbl ;\red0\green0\blue0 ;} {*\generator Riched20 15.0.4420}{*\mmathPr\mwrapIndent1440 }\viewkind4\uc1 \pard\cf1\embo\f0\fs20 クレイグ...\embo0 \embo please\embo0 \embo close\embo0 \embo >out\embo0 \embo of\embo0 \embo your\embo0 \embo old\embo0 \embo client\embo0 \embo >and\embo0 \embo re-open\embo0\f1\par {*\lyncflags rtf=1}}

Lua スクリプトを使用して、RTF タグを削除し、会話のテキストだけを抽出しようとしています。したがって、私の関数の結果は次のようになります。

クレイグ...古いクライアントを閉じて、もう一度開いてください

string.gsub を正規表現で使用してパターンを一致させ、それらを空白に置き換えてテキストのみを残そうとしましたが、機能しません。これまでのstring.gsubのコードは次のとおりです。

どんな提案でも大歓迎です!

追加:

user1@capital.com @ 2013-01-18 17:48:03Z (TO: user2@capital.com)

{\rtf1\fbidis\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Segoe UI;}{\f1\fnil Segoe UI;}} {\colortbl ;\red0\green0\blue0; } {*\generator Riched20 15.0.4420}{*\mmathPr\mwrapIndent1440 }\viewkind4\uc1 \pard\cf1\embo\f0\fs20 works\embo0 \embo for\embo0 \embo me..\embo0 \embo how\ embo0 \embo about\embo0 \emboembedding\embo0 \embo pictures?\embo0\f1\par {*\lyncflags rtf=1}}

user1@capital.com @ 2013-01-18 17:48:57Z (TO: user2@capital.com)

{\rtf1\fbidis\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Segoe UI;}{\f1\fnil Segoe UI;}} {\colortbl ;\red0\green0\blue0; } {*\generator Riched20 15.0.4420}{*\mmathPr\mwrapIndent1440 }\viewkind4\uc1 \pard\cf1\embo\f0\fs20 I\embo0 \embo see\embo0 \embo it\embo0\f1\par {* \lyncflags rtf=1}}

user1@capital.com @ 2013-01-18 17:49:27Z (宛先: user2@capital.com)

{\rtf1\fbidis\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Segoe UI;}{\f1\fnil Segoe UI;}} {\colortbl ;\red0\green0\blue0; } {*\generator Riched20 15.0.4420}{*\mmathPr\mwrapIndent1440 }\viewkind4\uc1 \pard\cf1\embo\f0\fs20 Let's\embo0 \embo try\embo0 \embo a\embo0 \embo meeting.\embo0 \f1\par {*\lyncflags rtf=1}}

0 投票する
1 に答える
475 参照

xslt - Lua または XSL - 文字列から単語を引き出す Lync

私が使用しているソリューションでは両方が許可されているため、Lua や XSL で処理しているドキュメントがあります。処理中のデータは、Lync 2013 からの IM 会話をまとめたものです。以下のデータの値を抽出するパターン マッチング スクリプトをいくつか書くことができましたが、ユーザーはデータの表示方法を構成できるためです。 IM では、データはユーザーごとに異なる方法で保存されます。

必要なのは、メッセージの To、From、Date/Time、および Content のすべての値を引き出すスクリプトです。各単語が RTF タグで囲まれていると、次の文字列 '\embo0' が続くことに気付きました。

以下の例のようにデータ セット全体を処理して、サンプル データで目的の結果を生成する方法はありますか? 私が持っているスクリプトは、私が定義したパターン マッチング スキームの 1 つに一致する会話の一部のみを抽出し、それ以外はすべて削除することができます。

データ:

望ましい出力:

0 投票する
1 に答える
883 参照

string - 重大なエラーを引き起こすアドオン (WoW、Lua)

チャット内で特定の単語を検索し、指定されたチャットフレームに送信するアドオンは機能しますが、ランダムにエラーが発生し、ゲームがクラッシュします


クラッシュした後、チートエンジンを開いてリージョンを参照し、何があったかを確認しました

そしてアドオンコード:

なぜこれがゲームをクラッシュさせているのか、誰でも私を助けることができますか?

0 投票する
3 に答える
26394 参照

string - 「.」を見つける string.find() で

私は簡単な文字列操作をしようとしています:拡張子なしでファイルの名前を取得します。のみ、string.find()ドットに問題があるようです:

そしてドットのみ:

それはバグですか、それとも何か間違っていますか?

0 投票する
1 に答える
1547 参照

string - 特殊文字を使用した Lua での文字列操作

Lua で文字列をトリミングしたいのですが、文字列に特殊文字が含まれているために苦労しています。

例えばstr = "RG Ph 0%/15.00bpm"

を含むすべてを削除したい"/"

となることによってstr = "RG Ph 0%"

"%"次のコードを見つけましたが、 and を"/"適切に処理しているとは思いません。

何か案は?

0 投票する
1 に答える
583 参照

windows - lua の文字列パターン マッチングがこれを行うのはなぜですか?

CPU と GPU の温度を監視する外部アプリケーションがあります...

これらの値を ( GetWindowTextを介して) 取得し、これらの値に対してパターン マッチングを行い、文字列から温度の数字を効果的に抽出するために、Lua をエイリアン拡張と共に使用して います。パターンが LUA でどのように機能するかについて間違った考えを持っていますか (正規表現とまったく同じようには見えないため)。CPU 67.875 °C

私が使用しているパターンは[%d]+[.%d+]*、0 から 100.0 までの任意の数字に一致するはずです。正しいですか?
それでも奇妙なことに、値が約 56.5 度に達すると、信じられないほど奇妙な出力が得られます(リンクを参照)

なぜこうなった?また、0 から 100 までの正しい浮動小数点値を (文字列として) の形式で抽出するには
どうすればよいですか?XYY.ZZZXY.Z