正则[]和|这两个或为什么结果不一样?

写法一:/(^0|D)/g
写法二:/[(^0)D]/g

我想要的是写法1的结果,但是写法2会匹配所有位0的值,不仅仅是首位为0,我希望只匹配首位为0的值。求第二种写法哪里错了···

阅读 2.3k
1 个回答

(^0|D)^ 表示限定开头
[(^0)D]^ 表示字符类的否定
语法
若要匹配一行文本开始处的文本,请在正则表达式的开始使用 ^ 字符。不要将 ^ 的这种用法与中括号表达式内的用法混淆。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进