問題タブ [character-class]
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 - [:punct:] などの正規表現文字クラスのメンバーを一覧表示するにはどうすればよいですか?
たとえば、次のようなドキュメントから知っています
それ
含む
しかし、コマンドラインからチェックしたいと思います(私の場合はRですが、おそらくbashなどでも同様です)、[:alpha:]などもリストします.
java - 文字列の大文字と小文字を数える方法は?
よ、だから私はユーザーから文字列入力を受け取ることができるプログラムを作ろうとしている.
出力例: 文字列には大文字が 8 文字あり、文字列には小文字が 5 文字あり、配列ではなく文字列クラスを使用することになっています。これを開始する方法に関するヒントはありますか? 前もって感謝します、これが私がこれまでに行ったことです:D!
c# - C# 正規表現文字クラス/文字列パターン - 感嘆符を識別する
このようなことをしたい---式に感嘆符が含まれている場合、エラー; それ以外の場合、エラーはありません。
式は、値自体または数学/文字列関数の場合があります。以下の例:
expr = abc;
式 = 123;
expr = 連結 (123,abc);
expr = sin(0.5);
文字列パターンを識別するために正規表現ライブラリを使用しています。
上記のすべての式では、エラー (期待される結果) は表示されませんでしたが、最後の式 "expr=sin(0.5)" を除いて、エラーが表示されます! そうしないと思われます。
では、文字列パターンを間違って書いたのだろうか? または、正しい結果を得るためにコードのどの部分を変更する必要がありますか?
私のコードで提供:
ruby - RubyでネストされたPOSIX正規表現文字クラス?
別の文字クラス内に POSIX スタイルの文字クラスをネストするにはどうすればよいですか?
スペースまたはダッシュの一致を置き換えようとしています:
と
そして、それは機能していません。Ruby 1.9.3 を使用していますが、公式ドキュメントにはネストの例がありません。私は UTF-8 を使用しており、私の例は実際の式からは単純化されているため、POSIX スタイルが必要です。
助けてくれてありがとう!
regex - 後方参照を条件として使用する C++11 正規表現
文字クラスで後方参照を使用できないことは認識していますが、この機能が必要です。これを達成するために使用できる代替の有効な正規表現があるかどうか疑問に思っています。
前提条件: Visual Studio 2013 を使用しています。その環境 (つまり、std::regex) 内で動作する必要があります。
簡単な例として、私が実行したいのは、大文字のローマ字アルファベットのみ (つまり AZ) の単語リストでの検索です。たとえば、次のような仮説的な表現です。
"^(.)([A-\1])([\2-Z])$"
これは理想的には、2 番目の文字が語彙的に 1 番目の文字以下であり、3 番目の文字が語彙的に 2 番目の文字以上である 3 文字の単語の一致を返します。一致の例には、「CAT」と「EEL」が含まれますが、「COW」と「PIG」は含まれません。
では、これを達成できるやや単純な正規表現 (26×N 指数代替条件を除く) はありますか? それとも、これを行うために独自のコードを作成する必要がありますか?
補遺:単純化されたケースの代替の有効な正規表現を受け取っていないので、そのような検索を実行するための独自のコードを書く必要があるという点で、私の質問に答えると思います。
現実の問題を理解するために、ここで説明します。
http://joeslater.orgfree.com/ZigWord/tutorial.html
問題を理解するにはチュートリアルで十分でしょうが、いくつかのパズルが用意されていますので、ぜひ試してみてください。それらはすべて手作業で生成されました。選択する単語のリストを使用して、このようなパズルを生成するプログラムが必要です。
本当の問題は、パズルのサイズが 9×9 や 11×11 のグリッドのように大きくなり、大量の単語リスト (数百または数千) がある場合に発生します。パズルが構築されるにつれて、各単語が埋められていない場所に収まるようにする力ずくの方法は、容認できない解決策です。 11×11 パズル (パズルは生成されませんでした)。
そのため、パズルが構築され、パズルに収まる可能性のある単語を除外するために、正規表現を使用したいと考えていました。現時点では、この検索を実行するには独自のコードを作成する必要があると思いますが、そうでない場合は教えてください。
java - 正規表現を逆にしてJava replaceAllメソッドで使用するにはどうすればよいですか?
文字列 example: の最後のアルファベット文字が必要ですABRACADABRA123456
。正規表現[a-zA-Z](?=\d+)
は、すべてのケースで一致します。Javaメソッドで使用するように式を変更(逆)するにはどうすればよい"ABRACADABRA123456".replaceAll(<inverse-regex>,"")
ですか?
INPUT: ABRACADABRA123456
USE: "ABRACADABRA123456".replaceAll(...)
OUTPUT: A
(文字列の最後のアルファベット文字)
解決済み:System.out.println("ABRACADABRA123456".replaceAll("([\\D]+)([a-zA-Z](?=\\d+))([\\d]+)","$2")));