我正在尝试使用正则表达式来验证flutter中文本字段表单的全名,但我无法弄清楚为什么它不起作用。我从here中找到的表达式/^[a-z,.'-]+$/i对于我提供的任何条目均失败。我在dart中为我的flutter应用程序使用的代码是:finalRegExpnameExp=newRegExp(r"/^[a-z,.'-]+$",caseSensitive:false);谁能看到我错过了什么?更新:所以正则表达式允许大多数事情并且不太正确,对我有用的是r"^([a-zA-Z]{2,}\s[a-zA-z]{1,}'?-?[a-zA-Z]{2,}\s?([a-zA-Z]{1,})?)"接受以
这个问题在这里已经有了答案:Reference-Whatdoesthisregexmean?(1个回答)关闭4年前。首先,我知道x(?=y)仅当'x'后跟'时才匹配'x'y'.但是,当我尝试r'^(?=.*[0-9])(?=.*[a-z])'时,为什么0a和a0都匹配?为什么顺序根本不重要?对于0a,它匹配什么?如果它匹配0之前的空字符串,它应该不满足第二个条件(?=.*[a-z]),因为0之前的空字符串后跟0,但不是a-z。如果它匹配0因为它后面跟着a,它应该不满足第一个条件,因为0后面没有[0-9]。我不知道我的想法有什么问题。我不确定我是否表达清楚,以便您能理解我的意思..而对于
我正在尝试在正则表达式中传递变量语言DART`betweenLenth(val,field,[min=4,max=20]){finalRegExpnameExp=newRegExp(r'^\w{"+min+","+max+"}$');if(!nameExp.hasMatch(val))returnfield+"mustbebetween$min-$maxcharacters";}`谢谢 最佳答案 您不能对原始字符串使用字符串插值。有插值finalRegExpnameExp=newRegExp('^\\w{"$min","$max"}
我是dart的新手,我正在做我的第一个项目。我目前正在处理项目的存储方面的工作,在尝试访问以.txt格式编写的文件时遇到了困难。我正在尝试以.txt格式保存一个包含列表列表的文件。我使用.writeAsString()方法写入文件,将我的列表转换为字符串,以便将其保存为.txt文件。我使用以下代码读取文件并将其转换回列表列表。widget.storage.readData().then((Stringvalue){setState((){_state=value;finalregExp=newRegExp(r'(?:\[)?(\[[^\]]*?\])(?:\])?');List>res
keyboardType:TextInputType.number,inputFormatters:[WhitelistingTextInputFormatter(RegExp("^\s*(?=.*[1-9])\d*(?:\.\d{1,2})?\s*\$"))],),我在我的TextFormField中使用了这个设置,并使用了我从另一个SO帖子中获取的这个正则表达式。在regex101.com上测试似乎没问题,但我无法使用此正则表达式在我的表单上输入任何内容。我使用正则表达式的目标是获得两位十进制正float。Regexgreaterthanzerowith2decimalplaces
如何使用dart正则表达式从视频URL中提取YouTube视频ID?示例网址https://www.youtube.com/watch?v=SEkUienM2oY&t=1265s或https://m.youtube.com/watch?v=SEkUienM2oY&t=1265s返回SEkUienM2oY&t=1265s对我有用StringgetVideoID(Stringurl){url=url.replaceAll("https://www.youtube.com/watch?v=","");url=url.replaceAll("https://m.youtube.com/watc
我有这个有效的正则表达式。目前我匹配;;之间的所有数据我的输入=>1;23;testX;2;我的正则表达式=>(\d+);(\d+);(\w+?\w+);(\d+);group1=1group2=23group3=testXgroup4=2我的问题是:如果我更改,我的正则表达式代码将不起作用:通过“测试”“测试X”或者如果我有像;;这样的空数据在所有这种情况下,我都会搜索匹配项。谢谢 最佳答案 我建议使用^(\d*);(\d*);(\w+(?:\w+)?)?;(\d*);$参见regexdemo基本上,您需要anchor来匹配整个字
我试图只允许在文本表单字段上使用数字和点。我有这样的东西WhitelistingTextInputFormatter(RegExp("\d*[.]\d*"))但不起作用,所以:任何人都知道如何只允许数字和点? 最佳答案 自WhitelistingTextInputFormatter自1.20起在Flutter中已弃用,FilteringTextInputFormatter可以使用:ATextInputFormatterthatpreventstheinsertionofcharactersmatching(ornotmatching
我尝试在我的flutter应用程序中匹配恰好包含单词“world”的单词和句子。我认为最好的方法是使用单词边界。我的正则表达式如下所示:Stringstr="world";varregexp=RegExp("\b($str)\b",caseSensitive:false);但它不起作用。这是输出:regexp.hasMatch("HelloWorld");//falseregexp.hasMatch("World");//falseregexp.hasMatch("worlds");//falseasexpected\b在Dart中不起作用吗?有谁知道如何实现所需的行为?我找不到有关此
如何用双反斜杠“\”替换字符串中的单反斜杠“\”?我试过了,但是没用。main(){Stringstring="back\slashback\slashback\slashback\slash";Stringreplaced=string.replaceAll(RegExp(r'\\'),'\\\\');print(replaced);} 最佳答案 问题是字符串string不包含任何\要么需要Stringstring=r"back\slashback\slashback\slashback\slash";或Stringstring=