- 此问题在此处已有答案**:
Regular expression works on regex101.com, but not on prod(1个答案)
昨天关门了。
我正在编写一个使用正则表达式返回字符串列表中第一个匹配项的方法
String getMatch(String sentence) {
for (String word in sentence.split(' ')) {
if (regex.hasMatch(word)) {
return word;
}
}
return '';
}
正则表达式:RegExp('/\d+.\d+F/gi')
(来自https://regex101.com/)
句子:2.AF Farenheit 100.1F 100.200f
我在regex101中得到了正确的匹配(最后两个字),但在我的dart应用程序中我没有得到任何匹配,dart的regex语法是否不同?
我也试过regex:RegExp('[\d+.\d+F]', caseSensitive: false)
但是我找到了一个匹配的2.AF,或者是Farenheit,如果我把这个词放在前面的话。
我的dart正则表达式出了什么问题,使它只匹配F,我如何改变它,使它只匹配(任意位数).(任意位数)F/f?
2条答案
按热度按时间tv6aics11#
通过将regex更改为RegExp(r'\b\d+.\d+F\b ',区分大小写:false)评论中第四只鸟给出的答案
nue99wik2#
你设置javascript了吗?否则表达式可能不能正常工作
我稍微修改了一下这个表达式,它可以在任何语言中使用