代码本身:(您可以在DartPad上看到)
void main() {
print(new RegExp("[0-9]|'|\"|\.").hasMatch('g')); // should return false
print(new RegExp("[0-9]|'|\"|\.").hasMatch('0')); // return correctly true
}
输出:
true
true
在regex101上使用相同的版本,但使用JS,返回值是正确的。
我的RegExp是否缺少某些内容,或者我是否应该报告错误?
答案 0 :(得分:7)
使用原始字符串
print(new RegExp(r'''[0-9]|'|"|\.''').hasMatch('g'));
('''
是为了避免与字符串中的"
发生冲突)
或转义\
print(new RegExp("[0-9]|'|\"|\\.").hasMatch('g'));