如何在JavaScript的正則表達式中創建ASCII 7鈴聲字符?JavaScript的正則表達式中的ASCII 7鈴聲字符
我的正則表達式:^[#&][^ \a]{0,200}$
正則表達式以上原因硬是不走字a
而不是ASCII 7個字符。
見例如:https://regex101.com/r/5nMNL4/1
即使在上Regex101右側的解釋,它說:
\一鍾字符匹配(ASCII 7)
如何在JavaScript的正則表達式中創建ASCII 7鈴聲字符?JavaScript的正則表達式中的ASCII 7鈴聲字符
我的正則表達式:^[#&][^ \a]{0,200}$
正則表達式以上原因硬是不走字a
而不是ASCII 7個字符。
見例如:https://regex101.com/r/5nMNL4/1
即使在上Regex101右側的解釋,它說:
\一鍾字符匹配(ASCII 7)
根據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>
你不能寫"\a"
並且期望在字符串中有一個響鈴字符,因爲JS escape sequences不包括這一個。
然而,要找到它的文本,使用/\x07/
:
console.log(/\x07/.test("\x07"));
另一個可能的問題是,你正在嘗試匹配Unicode ␇
char,然後看到Target a bell character with a regular expression 。
作爲一個側面說明,**不要相信一切regex101.com告訴你**,檢查記錄並在目標環境中測試您的正則表達式 - 始終如一。 Regex101仍然有錯誤。 –
JavaScript不支持正則表達式的'\了',你必須使用'\ u2407'代替 – adeneo