Ng-pattern regex查找只出现一次的模式

ng-pattern regex to find only single occurrence of a pattern

本文关键字:一次 模式 查找 regex Ng-pattern      更新时间:2023-09-26

我需要将模式匹配为字符串'abcd',后跟冒号(:)和任意数量的整数。此模式不能重复。

例如,

有效模式->

- abcd:23415 
- abcd:23

无效模式->

- asda:4535 
- abcd 
- abcdabcd:324 
- abcd:234abcd234 
- abcd:234:abcd:234 

我试了如下:

((((abcd){0,1}):([0-9].+)){0,1})[^:]

它没有工作。我要把这个用n字型传递下去。考虑到ng-pattern在默认情况下会追加^并在末尾添加$,请建议正确的模式

您的regex包含.+子模式,允许在:和非:之间除换行符以外的任何1个或多个符号。看来这不是你需要的。

请注意,您实际上可以传递一个正则表达式,而不仅仅是一个字符串,给ng-pattern

所以,如果你的abcd在开头,然后:后面跟着一个或多个数字,使用

ng-pattern="/^abcd:'d+$/"

参见regex demo

如果末尾的数字是可选的,则尝试/^abcd:'d*$/作为模式。

Try /^abcd:'d+$/如果最后的数字是必填的

一些基本细节:

^测试字符串的起始

abcd:精确匹配静态字符串片段

'd匹配数字

*出现0次或0次以上

+出现一次或多次

$测试字符串结束