回答編集履歴

4

PCRE相当について\(\)を追加

2016/09/24 12:07

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  C/C++(PCRE), Perl(バイト文字列の場合), PHP(preg_*)
16
16
 
17
- * PCRE相当
17
+ * PCRE相当(Unicode文字列として処理)
18
18
 
19
- PCREそのものではないが、だいたい同レベルの正規表現。言語そのものがUincodeで処理しているため、マルチバイト文字対応とかは関係無い。
19
+ 元々のPCREそのものではないが、だいたい同レベルの正規表現。言語そのものがUincodeで処理しているため、マルチバイト文字対応とかは関係無い。
20
20
 
21
21
  Java, Python3, JavaScript, C#, C++(STL<regex>でECMAScriptを選択), Perl(デコード済みのテキスト文字列の場合), Perl6?
22
22
 

3

ちょっと表現を変える

2016/09/24 12:07

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  PCREそのものではないが、だいたい同レベルの正規表現。言語そのものがUincodeで処理しているため、マルチバイト文字対応とかは関係無い。
20
20
 
21
- Java, Python3, JavaScript, C#, C++(STL<regex>でECMAScriptを選択), Perl(ただし、テキスト文字列にデコード済みの場合), Perl6?
21
+ Java, Python3, JavaScript, C#, C++(STL<regex>でECMAScriptを選択), Perl(デコード済みのテキスト文字列の場合), Perl6?
22
22
 
23
23
  * 鬼車(および鬼雲)
24
24
 

2

バイト文字列の場合を追加

2016/09/24 12:05

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  Perlで採用されたPOSIXを拡張した正規表現。独立したライブラリPCREとして使用可能。UTF-8以外のマルチバイト文字を使う事は想定されていないし、UTF-8の場合でも1文字を1文字として認識してくれない。
14
14
 
15
- C/C++(PCRE), Perl, PHP(preg_*)
15
+ C/C++(PCRE), Perl(バイト文字列の場合), PHP(preg_*)
16
16
 
17
17
  * PCRE相当
18
18
 

1

Perlについて注意書きを追加

2016/09/24 12:05

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  PCREそのものではないが、だいたい同レベルの正規表現。言語そのものがUincodeで処理しているため、マルチバイト文字対応とかは関係無い。
20
20
 
21
- Java, Python3, JavaScript, C#, C++(STL<regex>でECMAScriptを選択), Perl6?
21
+ Java, Python3, JavaScript, C#, C++(STL<regex>でECMAScriptを選択), Perl(ただし、テキスト文字列にデコード済みの場合), Perl6?
22
22
 
23
23
  * 鬼車(および鬼雲)
24
24
 
@@ -82,7 +82,7 @@
82
82
 
83
83
 
84
84
 
85
- 日本語を扱う場合、JavaやPython3等の場合は、そもそもUnicode(内部的にはUTF-16の場合もある)として処理してしまうので、正しく処理できます(ただし、U+10000以上でサロゲートペアになっている場合はうまくいかないかもしれない)。しかし、Unicodeではなく、文字コードそのままで処理したいというのであれば、RubyやPHP(mb_erge_*)を使う必要があるでしょう。Perl(6より前)やPHP(preg_*)は日本語の処理に難点があるので、避けた方が良いと思われます。
85
+ 日本語を扱う場合、JavaやPython3等の場合は、そもそもUnicode(内部的にはUTF-16の場合もある)として処理してしまうので、正しく処理できます(ただし、U+10000以上でサロゲートペアになっている場合はうまくいかないかもしれない)。しかし、Unicodeではなく、文字コードそのままで処理したいというのであれば、RubyやPHP(mb_erge_*)を使う必要があるでしょう。Perl(6より前かつテキスト文字列にデコードしない場合)やPHP(preg_*)は日本語の処理に難点があるので、避けた方が良いと思われます。
86
86
 
87
87
 
88
88