JavaScript: highlight.js導入時に発生したUncaught SyntaxError: Invalid regular expressionの解消法
highlight.jsは手軽にシンタックスハイライトを行えるオープンソースのライブラリです。
Usageに従い導入作業を行っていたところ、以下のエラーが発生しました。
Uncaught SyntaxError: Invalid regular expression: /([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\s*,\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\s+)+[a-zA-Z_]\w*\s*\(/ : Range out of order in character class
調べてみると、どうやら日本向けのGoogle Chromeで
デフォルトの文字コードがShift-JISになっていることで起きる不具合のようでした。
この件に関しては、既にフォーラムにも同様の症状が報告されており、
文字コードにUTF-8を使用する設定に変更することで解消するということでした。
github.com
<meta charset="UTF-8">
というmetaタグを書き足す、もしくは
<script charset="UTF-8">...</scipt>