JavaScript的正则表达式中的ASCII 7铃声字符

时间:2016-11-16 20:54:25

标签: javascript regex

如何在JavaScript的正则表达式中创建ASCII 7铃声字符?

我的正则表达式:^[#&][^ \a]{0,200}$

上面的正则表达式实际上不会使用字符a而不是ASCII 7字符。

参见示例:https://regex101.com/r/5nMNL4/1

即使在Regex101右侧的解释中,它也说:

  

\ a匹配铃声字符(ASCII 7)

2 个答案:

答案 0 :(得分: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 :(得分: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>