正規表現に\wというのがあります。
word characterの略と思われます。
一般に「英単語に使われる文字」を抽出する際に使われます。
いつも漠然と使っていましたが、具体的にはどの文字に対応しているのでしょうか。
先に答えを書きます。
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
これはJavaScriptで実際にコードを書いて\wにヒットするものを出力したものです。
半角の数字、英大文字、英小文字、アンダースコアが該当します。
スペース、ドットなどは該当しません。
[0-9A-Za-z_]と書くのと同じです。
蛇足ですがこれを出力する際に使ったコードです。
// 英数字(word characters)を格納する配列
const wordCharacters = [];
// ASCIIコード32から126までの文字を走査
for (let asciiCode = 32; asciiCode < 127; asciiCode++) {
// ASCIIコードを文字に変換
const currentCharacter = String.fromCharCode(asciiCode);
// 英数字(word character)の場合のみ配列に追加
if (currentCharacter.match(/\w/)) {
wordCharacters.push(currentCharacter);
}
}
// 抽出した英数字を文字列として出力
console.log(wordCharacters.join(""));
const wordCharacters = [];
// ASCIIコード32から126までの文字を走査
for (let asciiCode = 32; asciiCode < 127; asciiCode++) {
// ASCIIコードを文字に変換
const currentCharacter = String.fromCharCode(asciiCode);
// 英数字(word character)の場合のみ配列に追加
if (currentCharacter.match(/\w/)) {
wordCharacters.push(currentCharacter);
}
}
// 抽出した英数字を文字列として出力
console.log(wordCharacters.join(""));
コメント