問題タブ [metacharacters]
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.
jquery - メタ文字を含む jQuery セレクター
このようなIDを持つ要素の選択に問題があります<li ="0f:Bactidol_Recorder.mp4">.
このjqueryリンクから下の2つのバックスラッシュでメタ文字をエスケープする関数を使用しようとしましたが、それでも要素を選択できません
関数:
例:
出力:
perl - Perl、パターンマッチング、メタキャラクター
一致パターンで「リテラル」として使用する必要があるメタ文字でいっぱいの 2 つのものを一致させようとしています。 \Q
まで文字列内のすべてのメタ文字を引用する\E
ことになっています...しかし、それは機能しません。
どうしたの?
これは私に問題を引き起こす行です: if (/\Q$prev\E/ !~ /\Q$ww[0]\E/) {
regex - 変数リストのメタクォート パターン
文字列で探したいパターンのリストがあります。これらのパターンは多数あり、文字どおり一致させたい多数のメタ文字が含まれています。したがって、これは でのメタクォートに最適なアプリケーションです\Q..\E
。複雑なのは、パターンの変数リストを正規表現に結合する必要があることです。
結合操作にメタクォートを導入しようとすると、効果がないように見えます。
何らかの理由で、正規表現として使用する文字列にメタクォートが含まれている場合、メタクォートは効果がありません。私にとっては、正規表現に直接追加された場合にのみ機能しますが/\Q$anexpression\E/
、私が知る限り、これはオプションではありません。どうすればこれを回避できますか?
string - メタ文字を使用した R の strsplit
区切り文字がバックスラッシュである大量のデータがあります。Rで処理していますが、バックスラッシュはメタキャラクターであるため、文字列を分割する方法を見つけるのに苦労しています。たとえば、文字列は次のようになります。
文字に沿って分割したいのです\
が、strsplit コマンドを実行すると、次のようになります。
「固定」オプションを使用しようとすると、バックスラッシュの後に何かが必要なため、実行されません。
残念ながら、データは毎日生成されるため、別のプログラムでデータを前処理することはできません。
bash - ssh を実行するために sed で二重のバックスラッシュを使用するのはなぜですか?
Gentoo Linux の wiki で、動的 jumphost リストに関する次の記述に出くわしました。
sed
動作しますが、式を完全 に理解したいと思います。
元のリファレンスを読んで、Host *+*
パターンを使用して、コマンドの再帰呼び出しをよく理解することができました。しかし、2 つの質問があります。
- 式は を使用し
%%
ます。理由を確認するために を使用ssh -v
したところ、ssh
クライアントが を解析する$HOME/.ssh/config
と、最初の%
が取り除かれているように見えることがわかりました。上記を確認しようとして、openssh のソース コードをダウンロードしましたがreadconf.c
、手がかりが得られませんでした。私は OpenSSH ソース コードを初めて使用しますが、デバッグ情報を使用してコンパイルすることを恐れませんgdb
。それにもかかわらず、私の推測を確認するためのより迅速な方法があれば、ヒントをいただければ幸いです。 また、次の
ssh -v
ことも明らかにしました。つまり、サブシェル
\(
で a を使用してエスケープされるようになりました。\
なぜこれが必要なのですか?
ありがとう、
――ザック
unix - UNIX で grep ^- とはどういう意味ですか?
タイトルが示すように、UNIX で grep ^- とはどういう意味ですか? grep とは何かは知っていますが、メタ文字の ^- 部分は知っていません。
mysql - 異なるフィールドターミネータを使用したコマンドラインMySQL select
bash
MySQL ステートメントを実行しているスクリプトがあります。
これはうまくいきます。ただし、これが返す表形式の代わりに、タブ区切りの結果を取得したいと思います。
次のことを試しましたが、構文エラーが発生します。
エラーは次のとおりです。
ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY "\t"' at line 10
私も試しました
しかし、同じエラーが発生します。
この種の MySQL の実行からフィールド ターミネータを変更する正しい方法はありますか? アドバイスありがとうございます。
python - pexpectおよびシェルメタ文字(>、|、または*)
私は今かなり混乱しています。
pexpectの ドキュメントには、次のように記載されています。
しかし、私はとを使用するいくつかの古いコードを見て|
い*
ますpexpect.sendline(some command | grep 'something')
。そこで、これらのコマンドのテストを開始しましたが、すべて機能しているようです。また、変更されたpexpectモジュールを使用していないことにも言及する価値があります。これは、Python用の単純な古いpexpectです。
どうして?明らかに機能するのに、なぜpexpectはメタ文字が機能しないと言及するのですか?
java - Java の正規表現: a*
単純な正規表現パターン if put a*( quantifier) で、実際には文字 a; が含まれているにもかかわらず、マッチャーのどの結果にも一致しない理由を知っていますか? (いずれにせよ、「」を使用しているため、空の文字列が見つかったという結果が返されるはずです)。他の文字でも機能します。たとえば、r* と b* では問題ありません。コンテンツが引用符または括弧 ("a*") で囲まれている場合に機能することを認識しています。引用符なしで b* では機能し、引用符なしで a* では機能しない理由を知りたいだけですが。
コード:
「a」はメタキャラクターですが、「e」と「f」もメタキャラクターであり、それらを使用すると正常に機能することを認識しています。
コマンドラインに args[0] = a* args[1] = abba を入力として挿入します。
何か案が?前もって感謝します。