正则表达式究竟做了什么?

Vin*_*ang 0 javascript regex

正则表达式[]总是让我感到困惑.以下是一些常用的模式[]

  • /[0-9]/ 捕获所有数字
  • /[A-Z]/ 捕获所有26个大写字母
  • /[a-z]/ 捕获所有26个小写字母

但是关于

  • /[A-Za-z0-9] 捕获所有数字,大写字母和小写字母

这也可以写成

  • /[0-z]它还捕获所有数字,大写字母和小写字母.但它也捕捉^|以及其他字符之间

为什么是这样?

Vin*_*ang 5

它因为ASCII表

/[0-z] 捕获从48到122的所有ASCII值

在此输入图像描述

[A-Za-z0-9] 才不是

在此输入图像描述

  • 不只是ASCII.[**Unicode也**](/sf/answers/19653371/). (2认同)