2016-11-16 4 views
0

JavaScriptの正規表現でASCII 7のベル文字を作成するにはどうすればよいですか?JavaScriptの正規表現のASCII 7のベル文字

私の正規表現:^[#&][^ \a]{0,200}$

上記の正規表現ではなく、ASCII 7文字の文字aを取らないために文字通り原因となります。

例を参照してください:https://regex101.com/r/5nMNL4/1

でもRegex101の右側にある説明でそれは言う:試合\

ベル文字(ASCII 7)

+0

JavaScriptは正規表現で '\ a'をサポートしていないので、代わりに' \ u2407'を使用する必要があります – adeneo

答えて

1

MDNによると、\a修飾子は、Javascriptの正規表現の修飾子のリストにありません。あなたがシンボルを一致させたい場合は、ベル文字を一致させたい場合は

あなたが使用したい\u2407

console.log("Test␇String".match(/\u2407/))

を使用することができます\u0007

var s = document.getElementById('test').innerHTML; 
 
console.log(s.match(/\u0007/))
<div id="test">&#7;test</div>

3

あなたが書き込むことはできません"\a"と文字列内のベル文字がJS escape sequencesには含まれていないと考えられます。

しかし、テキストにそれを見つけるために、/\x07/使用:

enter image description here

console.log(/\x07/.test("\x07"));

別の可能性のある問題は、Unicode charに一致するようにしようとしているということです、そしてTarget a bell character with a regular expressionを参照してください。

+1

注釈**はregex101.comがあなたに言う**すべてを信じていません**あなたの正規表現をターゲット環境でテストしてください。 Regex101にはまだバグがあります。 –