teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

訂正

2017/01/08 03:52

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -5,3 +5,7 @@
5
5
  補足:
6
6
  このようなパターンだとUnicodeとしての未割当文字(不当文字)も許容されるのですが、それでもよいのかが若干気になりました(サロゲートペアで表現される絵文字なんかも厳密にはチェックできないと思います)。GetUnicodeCategorで文字の種類を確認するといった方法が使えそうな気がしますが自分もやったことないのでお勧めできるのか自信ないです。
7
7
 
8
+ ---
9
+
10
+ 訂正:
11
+ 上の「サロゲートペアの文字が厳密にチェックできない」という記述は不適切な表現でした。そのために誤解を招く恐れがあると気づいたので補足させてください。**未割当文字が含まれていない前提なら上述のパターンで(サロゲートペアで表現される文字も含めて)期待通りチェックOKになります**。厳密にチェックできないと申し上げた意味は単にサロゲートペアの1文字目、2文字目を意識していない検索になっているということをいいたかっただけだったのですが、考えて見ればそのこと自体この文脈ではいう必要がないことでした。すみませんでした。

2

サロゲートペアを追加

2017/01/08 03:52

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -3,4 +3,5 @@
3
3
  `"[^a-zA-Z0-9@<>\\-_\\]\\[\\u0100-\\uFFFF]"`
4
4
 
5
5
  補足:
6
- このようなパターンだとUnicodeとしての未割当文字(不当文字)も許容されるのですが、それでもよいのかが若干気になりました。GetUnicodeCategorで文字の種類を確認するといった方法が使えそうな気がしますが自分もやったことないのでお勧めできるのか自信ないです。
6
+ このようなパターンだとUnicodeとしての未割当文字(不当文字)も許容されるのですが、それでもよいのかが若干気になりました(サロゲートペアで表現される絵文字なんかも厳密にはチェックできないと思います)。GetUnicodeCategorで文字の種類を確認するといった方法が使えそうな気がしますが自分もやったことないのでお勧めできるのか自信ないです。
7
+

1

補足

2017/01/06 10:03

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,3 +1,6 @@
1
1
  `[...[...]]`というパターンマッチが使えるなら期待通りの動作をしてくれそうですが、試しに入れ子にせずに以下のようにしたらどうでしょう?
2
2
 
3
- `"[^a-zA-Z0-9@<>\\-_\\]\\[\\u0100-\\uFFFF]"`
3
+ `"[^a-zA-Z0-9@<>\\-_\\]\\[\\u0100-\\uFFFF]"`
4
+
5
+ 補足:
6
+ このようなパターンだとUnicodeとしての未割当文字(不当文字)も許容されるのですが、それでもよいのかが若干気になりました。GetUnicodeCategorで文字の種類を確認するといった方法が使えそうな気がしますが自分もやったことないのでお勧めできるのか自信ないです。