Javascript 以字符开头、以数字结尾的字符串的模式匹配

Javascript 以字符开头、以数字结尾的字符串的模式匹配,javascript,regex,Javascript,Regex,这是一个有效字符串,它总是以固定字符串某些\u start\u FORMAT \uu开头,然后以一个或多个数字结尾。所以有效字符串是 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_1234 SOME_STAR

这是一个有效字符串,它总是以固定字符串
某些\u start\u FORMAT \uu
开头,然后以一个或多个数字结尾。所以有效字符串是

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_1234
SOME_START_FORMAT_12
SOME_INVALID_FORMAT_1234
SOME_START_FORMAT_
SOME_START_FORMAT_1234_
SOME_START_FORMAT_1234_MORE
我正在尝试使用这个正则表达式
^SOME\u START\u FORMAT\ud+$
。我做错了什么


您需要检查字符串的结尾,而不是行的结尾,以便数字后面的内容不会匹配(\z):

对于多行,这在


只需添加多行标志。

您的正则表达式就可以了。我认为fiddle是令人困惑的,因为它将您的所有输入都视为一个字符串,带有几个新行字符

您的模式在单个字符串上按预期工作:

var输入=[
“某些\u开始\u格式\u 1234”,
“一些开始格式12”,
“某些\u无效\u格式\u 1234”,
“一些启动格式”,
“某些\u开始\u格式\u 1234”,
“一些\u开始\u格式\u 1234\u更多”
];
变量模式=/^SOME\u START\u FORMAT\ud+$/;
input.forEach(函数){
var isMatch=s.match(模式)!==null;
文档。写入(s+“:“+isMatch+”
”)
})
您是用某种特定的编程语言进行的吗?输出有什么问题吗?“SOME_START_FORMAT_”中有什么特殊字符吗?并非所有正则表达式都是相等的,
\d
+
不是标准正则表达式。@Abhishek kumar-我正在尝试在JavaScript@dan08-不,只有带uu的字符和数字。您的小提琴将所有行视为包含新行字符的单个字符串。这就是你所期望的吗?如果预期的输入是一个字符串,格式为
SOME\u START\u FORMAT\u 1234
,那么您发布的正则表达式就可以了。