为了检测字符串是否由ASCII字符组成,我使用了如下的regex。
"string".match(/^[\x00-\x7F]*$/gm)
这样可以很好的检测出ASCII字符。但这样做会留下与ascii码意义相似的字符。例如,一个双引号不属于ASCII码集,而包含在unicode集中。比如说,一个双引号,它不属于ASCII码集,而是包含在unicode集中。
"see the difference in double quotes“
用上面的regex,这个字符串将无法通过检测,因为: “
. 我如何扩展上述的regex,以包括这些与ASCII集意义非常相似的字符。例如 ,
[逗号]。"
双引号]等。
Regex不理解 意思 的任何东西,它只按照它的规则来匹配序列的 人物.
如果你想匹配一个逗号,你需要在字符集里放一个逗号。 如果你要寻找 "相似 "的字符,你需要确定每一个字符,并把它们放在字符集里面。
[,"]
将匹配 "逗号 "和 "双引号"。