簡體   English   中英

以字符開頭並以數字結尾的字符串的模式匹配

[英]Pattern matching for a string starting with character and ending with digit

這是一個有效字符串,始終以固定字符串SOME_START_FORMAT_然后以一個或多個數字結尾。 所以有效的字符串是

SOME_START_FORMAT_1234
SOME_START_FORMAT_12

無效的字符串是

SOME_INVALID_FORMAT_1234
SOME_START_FORMAT_
SOME_START_FORMAT_1234_
SOME_START_FORMAT_1234_MORE

我正在嘗試使用此正則表達式^SOME_START_FORMAT_\\d+$ 我做錯了什么?

小提琴

您需要檢查字符串的末尾而不是行尾,因此數字之后的任何內容都不會匹配(\\ z):

^SOME_START_FORMAT_\d+\z

對於多行,這在regxr.com上有效

/^SOME_START_FORMAT_\d+$/gm

只需添加多行標志。

您的正則表達式很好。 我認為小提琴令人困惑,因為它將所有輸入視為帶有多個換行符的單個String。

您的模式可以在各個字符串上正常工作:

 var input = [ "SOME_START_FORMAT_1234", "SOME_START_FORMAT_12", "SOME_INVALID_FORMAT_1234", "SOME_START_FORMAT_", "SOME_START_FORMAT_1234_", "SOME_START_FORMAT_1234_MORE" ]; var pattern = /^SOME_START_FORMAT_\\d+$/; input.forEach(function(s) { var isMatch = s.match(pattern) !== null; document.write(s + ": " + isMatch + "<br>") }) 

暫無
暫無

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

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