【发布时间】:2021-07-27 14:03:28
【问题描述】:
我想允许任何字母或数字,如果使用,请仅在开头允许#,仅出现一次,例如#{1}。并保留我在字符 ^<>@.\/() 的表达式中已有的限制。
这是我的正则表达式:
/^[#?a-zA-z0-9][^<>@.\/()]+/g
我希望这个正则表达式通过的一些用例:
##msidfipds - fail (2 of #)
fdsfsdfd#1m - fail (# not 1st character)
vcvxcvxcvxc - pass
#fdfdsfsdfs - pass
TextField 小部件的用例。
TextField(
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.allow(RegExp(r'^#?[a-zA-Z0-9][^#<>@.\/()]*$')),
],
autofocus: true,
enableInteractiveSelection: true,
keyboardType: TextInputType.text,
decoration: InputDecoration(
fillColor: Colors.transparent,
border: InputBorder.none,
hintText: 'Search',
),
textAlign: TextAlign.center,
style: TextFieldStyle,
),
【问题讨论】:
-
您的第一个字符类中可能有错字,应为:
[a-zA-Z0-9]。 -
啊哈,这就是 Dart。
标签: regex