最佳答案
在 Flutter 应用程序中,我需要检查字符串是否匹配特定的 RegEx。然而,我从应用程序 一直都是的 JavaScript 版本复制的 RegEx 在 Flutter 应用程序中返回 false。我在 Regexr上验证了正则表达式是有效的,而且这个正则表达式已经在 JavaScript 应用程序中使用了,所以它应该是正确的。
感谢你们的帮助!
正则表达式: /^WS{1,2}:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:56789/i
测试代码:
RegExp regExp = new RegExp(
r"/^WS{1,2}:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:56789/i",
caseSensitive: false,
multiLine: false,
);
print("allMatches : "+regExp.allMatches("WS://127.0.0.1:56789").toString());
print("firstMatch : "+regExp.firstMatch("WS://127.0.0.1:56789").toString());
print("hasMatch : "+regExp.hasMatch("WS://127.0.0.1:56789").toString());
print("stringMatch : "+regExp.stringMatch("WS://127.0.0.1:56789").toString());
产出:
allMatches : ()
firstMatch : null
hasMatch : false
stringMatch : null