如何在JavaScript的正则表达式中创建ASCII 7铃声字符?
我的正则表达式:^[#&][^ \a]{0,200}$
上面的正则表达式实际上不会使用字符a
而不是ASCII 7字符。
参见示例:https://regex101.com/r/5nMNL4/1
即使在Regex101右侧的解释中,它也说:
\ a匹配铃声字符(ASCII 7)
答案 0 :(得分:3)
你不能写"\a"
并期望字符串中有一个钟形字符,因为JS escape sequences不包括这个。
但是,要在文本中找到它,请使用/\x07/
:
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">test</div>