我有字母数字字符串,其中唯一的#.-
是允许的特殊字符
我当前的正则表达式为^[a-zA-Z0-9][-#._ a-zA-Z0-9 ]+$
接受字符串Exam1,Exam#1,Exam1.1
但也接受Exam ##1,Exam 1..1
如何才能使其与特殊字符匹配
答案 0 :(得分:0)
首先让我解释你的正则表达式
^[a-zA-Z0-9][-#._ a-zA-Z0-9 ]+$
从字符a-z or A-Z or 0-9
开始,后跟至少一个或多个后续字符。
所以将特殊字符[-#.]
移动到单独的字符类中并用其他字符[-#._ a-zA-Z0-9 ]
^[a-zA-Z0-9][_a-zA-Z0-9 ]+[-#.]?[_a-zA-Z0-9 ]+$
答案 1 :(得分:0)
我认为你说话意味着他们只能是一组特殊的字符,下面的陈述应该可以解决这个问题:
^[a-zA-Z0-9]
我会把它分解:
[a-zA-Z0-9 ]*
表示必须以一个字母数字字符
[-#.]*
表示可能有以下字母数字字符
[a-zA-Z0-9 ]*
表示字符串中的某个位置,可以有一系列特殊字符
*
表示字符串可能以一系列字母数字字符或特殊字符结尾
第一和第二部分接近但不同,以防止在开头放置空格。
将特殊字符序列与import 'dart:io';
main() {
Process.run('python', ['getLink.py']);
}
包装在同一结构中的事实允许它在任何地方。