You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular如何编写匹配->连接双单词、空行等格式的正则表达式

符合需求的正则表达式实现

你可以直接使用以下正则,适配JS/Angular环境:

// 字面量写法(推荐,无需额外转义)
const validExp = /^\s*$|^\s*[^\n]+?\s*->\s*[^\n]+\s*$/mg;

// RegExp构造函数写法(需要转义反斜杠)
const validExpReg = new RegExp('^\\s*$|^\\s*[^\\n]+?\\s*->\\s*[^\\n]+\\s*$', 'mg');

规则说明

该正则完全覆盖所有提出的匹配要求:

  • 匹配空字符串、仅包含\r/\s/\t的空白行、仅包含\n的换行行(由^\s*$分支实现,\s本身包含空格、制表符、回车、换行等所有空白字符)
  • 匹配word1->word2格式的内容,支持->前后携带任意空白
  • 自动过滤word1->、->word2这类不完整格式,要求->前后必须存在非换行的有效内容
  • 支持word1、word2包含数字、;、#等除\n之外的任意字符

如果要求word1中不能包含->字符,仅允许整行存在一个作为分隔符的->,可以调整正则为:

const validExp = /^\s*$|^\s*[^\n->]+\s*->\s*[^\n]+\s*$/mg;

修饰符说明

  • m:开启多行匹配模式,^和$会匹配每一行的开头和结尾
  • g:全局匹配,可一次性匹配所有符合规则的行,不需要全局匹配可以删除该修饰符

验证示例

  • 可匹配内容:""、test1->test2、user#123 -> order;456、 、\n
  • 不可匹配内容:word1->、->word2、test->

内容的提问来源于stack exchange,提问作者overflowed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:45:05