XRegExp の「x」フラグを使用する場合、リテラル「#」を検索に追加する方法が不明です。
ドキュメンテーションは、照明を生成するようには見えません。
例えば:
> XRegExp("the # hey",'x').toString()
'/the(?:)/'
これは予想どおりです。「#」以降はすべてコメントであり、無視されます。
その行の内容を無視せず、次の内容を無視しない明らかな解決策は、#
通常、(私の限られた経験に基づいて)エスケープ修飾子で始まること\\
です。
> XRegExp("the \# hey",'x').toString()
'/the(?:)/'
また
> XRegExp("the \\# hey",'x').toString()
'/the(?:)\\#(?:)hey/'
残念ながら、どちらも期待どおりに機能しません。前者は明らかな理由で、後者は次のようになります。
> XRegExp("the \\# hey",'x').xtest("the # hey")
false
または、入力データを変更しなければならない、より悪質なケースでさえ:
> XRegExp("the \\# hey",'x').xtest("the \\# hey")
false
代替の標準的なエスケープは、ダブル ハッシュ ( ##
) を使用することですが、それも機能しません。
> XRegExp("the ## hey",'x').toString()
'/the(?:)/'
#
問題は、「x」フラグを使用する XRegExp 式にリテラルを追加するにはどうすればよいかということです。私は困惑しています。