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

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

php - UTF-8 モードの正規表現での非 ASCII 文字

質問

PHPマニュアルには次のように記載されていますが、

「UTF-8 モードでは、値が 128 より大きい文字は、どの POSIX 文字クラスにも一致しません。」

ペルシャ数字が「UTF-8モード」で一致\dするのはなぜですか?[[:digit:]]

推敲

関連のない質問の回答者の発言では、正規表現では、 \dASCII 数字だけでなく、たとえばペルシャ数字 ( ) にも一致0する9ことが言及されてい۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ます。

上記の質問はとタグ付けされていますが、動作は PHP でも観察できます。これを念頭に置いて、次の「テスト」を作成しました。

結果の配列には、のみ$captureの一致が含まれます。5

修飾子を使用しuて「UTF-8 モード」をオンにし、これを実行します。

$captureとの両方۳に一致が含まれます5

ノート

  • この質問はPHP 5.6.22(最新のもの)に関するものです
  • どちらのテストも、Cロケールを明示的に使用して実行されました。
0 投票する
1 に答える
221 参照

perl - [^\w] は一部の単語の文字に一致するのに [^\p{Word}] には一致しないのはなぜですか?

Unicode プロパティに一致する文字を出力する Perl スクリプトを作成しました。これまでのところ、ほとんどのプロパティで問題なく機能しているようです。

ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ ÿしかし、一致する文字間で出力され[^\w]ます。これらの文字はむしろ一致するはず\wです。奇妙なことに、それらは一致し\p{Word}ます。

私は成功せずに試しました:

  • map { decode ( "UTF-8", $_ ) }
  • map { pack 'U0C*', unpack 'C*', $_ }

[^\w]それらの単語の文字と一致しないようにするにはどうすればよいですか?

chars.pl

良い:

良い:

悪い:

Perl v5.14.2

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

regex - Lua パターンと一致する正確な Ascii コード

プロジェクトを Lua から C++ に翻訳しています。Lua バージョンでは、Lua の正規表現を使用しますが、目的が非常に単純であるため、C++ では文字をいくつかの Ascii コードと比較するだけで実行できます。

ただし、そのためには、各文字クラスが一致する正確な ASCII コードが必要です。

例として、 は%sすべてのスペース文字に一致しますが、これらの文字は正確には何ですか? すべての Lua 文字クラスについて知る必要があります。

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

java - Java正規表現で空の文字クラスを表す方法

どの文字とも一致しない文字クラスを作成したい。今のところ、次のようなパターンを表しています。

あるいは

これを行う適切な方法はありますか?

注: 文字クラスを含まない代替ソリューション (否定先読みなど) を提供する必要はありません。それを行う「正しい」方法があるかどうかを知りたいだけです。

更新: ユーザーが最初に入力した内容の簡易版をユーザーに出力する機能を実装しています。文字クラスを単純化しているため、現在のバージョンで[][a&&b]. もう一度解析する[]と、エラーがスローされますが、これは私が望んでいるものではありません。したがって、次のようなものを表示してユーザー入力を変更しない適切な方法があるかどうかを知りたかったのはそのためです。^$

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

c++ - isdigit() は単純なプログラムでは機能しませんか?

コードにエラーは表示されませんが、数字を入力するたびに「数字ではありません」と表示されます。

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

awk - 正規表現 "^[[:digit:]]$" が AWK/GAWK で期待どおりに機能しない

RHEL 上の私の GAWK バージョンは次のとおりです。

最初のフィールドにすべての数字がある場合に行を印刷したかった (特殊文字はなく、スペースも考慮されていない)

ここで何がうまくいかないのですか?私の AWK バージョンは GNU 文字クラスを認識しませんか? 親切に助けて