問題タブ [substitution]
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.
regex - 特定の xml 要素内に既にある場合を除いて、テキスト パターンを xml 要素内に囲む方法は?
TTX 形式での翻訳用に準備された Java プロパティ ファイルから生成された数千の xml ファイルがあります。それらにはかなりの数の変数が含まれており、翻訳者はしばしばそのようなものを壊してしまうため、翻訳者から保護する必要があります。変数は、数値または場合によっては中括弧のペアの間のテキストの形式です。{0}、{これ}。
これらの変数がまだ属性になっておらず、 ut要素の内部テキストの一部になっていない場合は、次のように、これらの変数を xml 要素で囲む必要があります。
私の入力は次のようになります。
正しい出力は次のようになります。
私の最初のアプローチは、正規表現を使用して中かっこ内の用語を照合し、その周りにパターン置換を使用して xml 要素を構築することでした。上記の最初のコード ブロックのようにパターンが存在する場合、このアプローチは失敗します。
以前のパターンの検索と置換 (notepad++ で):
探す
交換
正規表現は仕事に適したツールではないように見え始めているので、より良いアプローチ、さまざまなツール、またはこれを迅速かつ繰り返し解決できるようにするためのより完全な正規表現について提案したいと思います。
更新:問題は、以前に想定されていたよりも少し複雑であることが判明しました。ある種の条件ステートメントのように見えるテキストと変数を混合する、かなりあいまいな構文を含む、保護が必要なものがさらにいくつかあるようです。記憶から:
「エラー」と「エラー」は翻訳可能であり、保護されるべきではありません。現時点で最も簡単な解決策は、上記の正規表現を実行し、それが作成するいくつかのエラーを修正してから、より複雑な項目に対して通常の検索と置換パスをさらに 2 回実行することです。正規表現として抽象化することもできますが、現時点ではそれを行う意味はあまりありません。
提供される表現の改善に加えて、より良い正規表現サポートを備えた xslt およびその他のエディターへのポインターに感謝します。時間が許せば、いくつかのオプションを試してみます。
regex - Perlqr//と置換
私はGetopsを使用してユーザー入力を受け取る小さなプログラムを書いています。それに基づいて、プログラムはパターンをテキストと照合するか、一致したものをテキストに置き換えます。
私が抱えている問題は、置換部分を機能させることができないということです。マニュアルページのqr//エントリを見ています:http://perldoc.perl.org/perlop.html#Regexp-Quote-Like-Operatorsしかし、私はそれで運がありません。この場合、ドキュメントとまったく同じようにコードをモデル化しようとしました。一致パターンをコンパイルし、それを置換に置き換えます。
誰かが私がどこで間違っているのか指摘できますか?(セキュリティについてはあまり心配しないでください。これは個人的な使用のためのほんの少しのスクリプトです)
これが私が見ているものです:
-r "/ matt /" -iを指定して実行し、置換テキスト'matthew'をテキスト'matt'に入力すると、失敗します。どうしてこれなの?
編集:
答えてくれてありがとう!それは本当にとても役に立ちました。私はあなたの両方の提案を問題の実用的な解決策にまとめました。/gフラグの処理方法を少し変える必要があります。作業サンプルは次のとおりです。
python - reST / Sphinx のリンク内の置換
Sphinx を使用して、さまざまなサーバーにデプロイされる Web サービスを文書化しています。ドキュメントには、ユーザーがクリックする URL の例がたくさんあり、それらはそのまま機能するはずです。私の問題は、ホスト、ポート、および展開ルートが異なり、展開ごとにドキュメントを再生成する必要があることです。
私はこのような置換を定義しようとしました:
しかし、生成された HTML は私が望むものではありません (生成されたリンクに「/path」が含まれていません):
これを回避する方法を知っている人はいますか?
asp.net - マスター ページのコード ビハインドで ASP.NET コントロールをレンダリングする
マスター ページで Substitution コントロールを使用しており、Substitution で (Web サイトのログイン領域に関連する) ユーザー コントロール コンテンツをレンダリングしたいと考えています。コントロールをレンダリングできるように、要求されたページの参照が必要なようです。ただし、コントロールは Web サイトの複数のページで共有されているため、マスター ページ自体でレンダリングする必要があります。それを達成するためのガイドラインは何ですか?
Tks
registration - どのような文字と数字の取り違えを考慮する必要がありますか?
登録キーが機能しないとユーザーに言われたところです。彼が数字の「0」の代わりに大文字の「O」を入力したことを理解するのにかなりの時間がかかりました。
そこで、レジストリチェッカーが「O」と「0」の両方を同等として扱うのが最善であると判断したので、両方が機能します。
私は他の2つの可能な取り違えを考えることができます:
- 数字の「1」と大文字の「I」と小文字の「l」
- 数字の「5」と文字の「S」または「s」。
これらはすべてですか、それとも他にありますか?
bash - コマンド置換、ただし出力を複数の引数に分割しない
出力を複数の引数に分割せずにBASHシェルでコマンド置換を行う方法はありますか?
あるディレクトリのパス(GUIファイルブラウザのロケーションバーから)をクリップボードにコピーしてから、次のコマンドを発行します。コマンドxselは、この場合はディレクトリのパスであるクリップボードの内容を返します。
ただし、一部のパスにはスペースが含まれている場合や、BASHで使用される特殊文字が含まれている場合もあります。
コマンドの出力を単一の引数として、BASHが特殊文字をいじることなく渡すにはどうすればよいですか?
regex - Perlで複数の単語を一致させて置き換えるときに、空白を保持するにはどうすればよいですか?
元のテキストがあるとしましょう:
その一部に一致するテキストが必要です。たとえば、「」と言いますhas a substring
。
ただし、元のテキストと一致する文字列には空白の違いがある場合があります。たとえば、一致テキストは次のようになります。
また
および/または元のテキストは次のようになります。
プログラムを出力するために必要なものは次のとおりです。
また、元の空白パターンを保持し、開始マーカーと終了マーカーを追加する必要があります。
これを実現するためにPerl正規表現を使用する方法について何かアイデアはありますか?試してみましたが、ひどく混乱してしまいました。
vim - VIM では、選択したテキストを再入力せずに置換句で使用できますか?
ビジュアルモードで単語を選択したとしましょう。s// を使用して、その単語とファイル内のその単語の他のすべてのインスタンスを置換したいと考えています。強調表示されたテキストs/<here>/stuff/
を再入力せずに使用する方法はありますか?
regex - 山かっこの条件付き置換の正規表現
< と > を Komodo Edit のエンティティに相当するものに置き換える単一の正規表現を作成することは可能ですか?
latex - latex マクロをその定義に置き換える方法 (latex を使用)
ユーザー定義の latex マクロをすべてその定義に置き換えるにはどうすればよいですか?
たとえば、このファイルを指定すると
古いテックス
以下のファイルを自動的に生成する方法
new.tex
perl で latex マクロ ロジックを再実装する代わりに、latex または tex エンジン自体を使用してこれを行うことはできますか?