簡體   English   中英

ng-pattern正則表達式僅查找模式的一次出現

[英]ng-pattern regex to find only single occurrence of a pattern

我需要將模式匹配為字符串'abcd'后跟一個冒號(:)和任意數量的整數。 此模式不能重復。

例如,有效模式->

- abcd:23415 
- abcd:23

無效模式->

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

我嘗試了以下方法:

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

這沒用。 我需要在ng-pattern中將其傳遞。 考慮到ng-pattern默認情況下會在末尾添加^並添加$,請提出正確的模式。

如果結尾的數字是可選的,請嘗試使用/^abcd:\\d*$/作為模式。

如果末尾的數字是必需的,請嘗試/^abcd:\\d+$/

一些基本細節:

^測試字符串的開頭

abcd:與靜態字符串片段完全匹配

\\d匹配一個數字

*出現零次或多次

+發生一次或多次

$測試字符串的結尾

您正則表達式包含.+子模式,其允許比換行符其間其他任何1個或多個符號:和非: 看起來這不是您所需要的。

請注意,您實際上可以將正則表達式(不僅是字符串)傳遞給ng-pattern

因此,如果您開頭有abcd ,則:后跟1個或多個數字,請使用

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

正則表達式演示

參見JSFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM