Regex Coach 的这个选择不正确吗?
Is this selection by Regex Coach is incorrect?
[^a]
解释如下:
您可以看到它只选择了第一个不是 a
的字符。
但是 regexr.com 选择不同,如下面的屏幕截图所示。
Regexr.com 确保 [^a]
匹配每个不是 a
的字符。
那么其中哪一个是错误的呢?
[^a]
代表"any character different than 'a'"。
在您的第二个示例中,您添加了 g
修饰符,这使得选择 global
而不仅仅是第一次出现。
在两个应用程序中进行相同的选择,您应该得到相同的结果。
两者都是正确的。
请注意第一个屏幕截图中 g
标志是如何取消选择的?它只匹配第一个非 a 字符(黄色背景)。
第二个屏幕截图显示了表达式 /[^a]/g
,意思是 "as many non-a characters as are matchable"(点击有蓝色背景)。
[^a]
解释如下:
您可以看到它只选择了第一个不是 a
的字符。
但是 regexr.com 选择不同,如下面的屏幕截图所示。
Regexr.com 确保 [^a]
匹配每个不是 a
的字符。
那么其中哪一个是错误的呢?
[^a]
代表"any character different than 'a'"。
在您的第二个示例中,您添加了 g
修饰符,这使得选择 global
而不仅仅是第一次出现。
在两个应用程序中进行相同的选择,您应该得到相同的结果。
两者都是正确的。
请注意第一个屏幕截图中 g
标志是如何取消选择的?它只匹配第一个非 a 字符(黄色背景)。
第二个屏幕截图显示了表达式 /[^a]/g
,意思是 "as many non-a characters as are matchable"(点击有蓝色背景)。