どうも中田です。
今更ですが、正規表現の話。
正規表現でこんなパターンがほしい的なことはよくググりますが、
こないだこんな↓パターンが必要だったので改めて考えてみました。
半角英数字と記号全部パターン
数字とかって [0-9]
みたく表現しますが、
これってASCIIコードの範囲指定してるだけなんですよね。
ASCIIコード表の半角英数字と記号の部分の範囲がカバーできてればいいので
表を眺めてみると、求める正規表現はこうなりました
[!-~]
前回の記事はこれ↓だけのために書いたものです(笑
文字 | DEX | HEX | 文字 | DEX | HEX | 文字 | DEX | HEX | 文字 | DEX | HEX |
---|---|---|---|---|---|---|---|---|---|---|---|
NUL | 0 | 00 | SP | 32 | 20 | @ | 64 | 40 | ` | 96 | 60 |
SOH | 1 | 01 | ! | 33 | 21 | A | 65 | 41 | a | 97 | 61 |
STX | 2 | 02 | “ | 34 | 22 | B | 66 | 42 | b | 98 | 62 |
ETX | 3 | 03 | # | 35 | 23 | C | 67 | 43 | c | 99 | 63 |
EOT | 4 | 04 | $ | 36 | 24 | D | 68 | 44 | d | 100 | 64 |
ENQ | 5 | 05 | % | 37 | 25 | E | 69 | 45 | e | 101 | 65 |
ACK | 6 | 06 | & | 38 | 26 | F | 70 | 46 | f | 102 | 66 |
BEL | 7 | 07 | ‘ | 39 | 27 | G | 71 | 47 | g | 103 | 67 |
BS | 8 | 08 | ( | 40 | 28 | H | 72 | 48 | h | 104 | 68 |
HT | 9 | 09 | ) | 41 | 29 | I | 73 | 49 | i | 105 | 69 |
LF | 10 | 0a | * | 42 | 2a | J | 74 | 4a | j | 106 | 6a |
VT | 11 | 0b | + | 43 | 2b | K | 75 | 4b | k | 107 | 6b |
FF | 12 | 0c | , | 44 | 2c | L | 76 | 4c | l | 108 | 6c |
CR | 13 | 0d | – | 45 | 2d | M | 77 | 4d | m | 109 | 6d |
SO | 14 | 0e | . | 46 | 2e | N | 78 | 4e | n | 110 | 6e |
SI | 15 | 0f | / | 47 | 2f | O | 79 | 4f | o | 111 | 6f |
DLE | 16 | 10 | 0 | 48 | 30 | P | 80 | 50 | p | 112 | 70 |
DC1 | 17 | 11 | 1 | 49 | 31 | Q | 81 | 51 | q | 113 | 71 |
DC2 | 18 | 12 | 2 | 50 | 32 | R | 82 | 52 | r | 114 | 72 |
DC3 | 19 | 13 | 3 | 51 | 33 | S | 83 | 53 | s | 115 | 73 |
DC4 | 20 | 14 | 4 | 52 | 34 | T | 84 | 54 | t | 116 | 74 |
NAK | 21 | 15 | 5 | 53 | 35 | U | 85 | 55 | u | 117 | 75 |
SYN | 22 | 16 | 6 | 54 | 36 | V | 86 | 56 | v | 118 | 76 |
ETB | 23 | 17 | 7 | 55 | 37 | W | 87 | 57 | w | 119 | 77 |
CAN | 24 | 18 | 8 | 56 | 38 | X | 88 | 58 | x | 120 | 78 |
EM | 25 | 19 | 9 | 57 | 39 | Y | 89 | 59 | y | 121 | 79 |
SUB | 26 | 1a | : | 58 | 3a | Z | 90 | 5a | z | 122 | 7a |
ESC | 27 | 1b | ; | 59 | 3b | [ | 91 | 5b | { | 123 | 7b |
FS | 28 | 1c | < | 60 | 3c | \¥ | 92 | 5c | | | 124 | 7c |
GS | 29 | 1d | = | 61 | 3d | ] | 93 | 5d | } | 125 | 7d |
RS | 30 | 1e | > | 62 | 3e | ^ | 94 | 5e | ~ | 126 | 7e |
US | 31 | 1f | ? | 63 | 3f | _ | 95 | 5f | DEL | 127 | 7f |