我看了一大堆东西,都指向在正则表达式中添加一个空格,但它对我不起作用,你能解释一下为什么以及如何才能让它起作用吗?

现在我使用的表达式是This,它是用Java编写的,这意味着它允许用户使用\S作为空格,但在省道中它只是一个空格"".

RegExp(r'''^[\w\'\’\"_,.()&!*|:/\\–%-]+(?:\s[\w\'\’\"_,.()&!*|:/\\–%-]+)*?\s?$''');

我try 在字符串的开头只接受字母数字字符,然后在字符或单词之后应该只允许一个空格,但其他字符可以超过这个空格.

这就是我在代码中使用它的方式.

inputFormatters: [
                        RegexInputFormatter(featureRegex),
                 ],
class RegexInputFormatter extends TextInputFormatter {
  final RegExp regex;

  RegexInputFormatter(this.regex);

  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    final String newText = newValue.text;
    final String filteredText = _getFilteredText(newText);
    if (newText != filteredText) {
      final int selectionIndex = newValue.selection.end - (newText.length - filteredText.length);
      return TextEditingValue(
        text: filteredText,
        selection: TextSelection.collapsed(offset: selectionIndex),
      );
    }
    return newValue;
  }

例如,

接受的字符串:

  • Abfed124
  • Sfaasf(空间)1221
  • Afasf(空格).124,(空格)aaf
  • 1242dsdd(空格)sddl,.!
  • 1242dsdd(空格)sddl,,...!

不可接受的字符串:

  • 嘿,嘿,嘿.
  • ==同步,由长者更正==
  • @ajsfas
  • AAS(空间)(空间)、ASA(空间)(空间)AS

推荐答案

试试这个正则表达式

RegExp regex = RegExp(r'^(?!.*\s\s)[\w,.! ]+$');

Flutter相关问答推荐

在Flutter中,CachedNetworks Image不工作(不从CachedData加载)

具有可变高度小部件的SingleChildScrollView内的列

当第二页在单独的小工具中使用Navigator.pop时,Navigator.push不起作用

如何使用Firebase Firestore来获取外部集合中的文档子集合中的文档

如何使一个悬浮的appbar在flutter?

如何在Flutter 中不从getX库中初始化GetxController中的变量

如何在扩展其他小部件时访问Ref

在Flutter 中实现中小型应用程序栏标题

ReCAPTCHA Enterprise中的严重安全漏洞

将记录/元组用作SplayTreeMap中的键

Android工作室Flutter 热重新加载更新后不工作

尽管我的 url 链接正确,但 ArgumentError(无效参数:URI 文件中未指定主机:///)错误

尽管设置了对齐方式,如何对齐列中的行?

如何在 flutter 中制作这种类型的扩展瓦片

Flutter - 异步文件读取异常处理

从物理设备 Flutter 中移除 USB 后启动画面不可见?

无法列出 com.facebook.android:facebook-login -Facebook 登录问题的版本

小部件库捕获的 Flutter 异常

如何从 Flutter 中的列表中提取 JSON?

Flutter 广告导致延迟