javascript正则表达式总是返回false吗?
我知道这是个新手问题,但我不知道如何克服它。javascript正则表达式总是返回false吗?,javascript,regex,Javascript,Regex,我知道这是个新手问题,但我不知道如何克服它。 使用regex的Match()字符串始终返回false。值来自AUT COMPLETE var str = '1 - Hello'; var pattern = /^[\d]\s-\s[a-z]/; if(str.match(pattern)) { alert('Hell Yeah'); } else alert('noooooooo'); 我不知道我错过了什么。但实际
使用regex的Match()字符串始终返回false。值来自AUT COMPLETE
var str = '1 - Hello';
var pattern = /^[\d]\s-\s[a-z]/;
if(str.match(pattern))
{
alert('Hell Yeah');
}
else
alert('noooooooo');
我不知道我错过了什么。但实际上,它起作用了
我的回答:/\d+-\w+/i
感谢您的回复。投票赞成关闭。您只允许使用小写字母,请尝试:
var模式=/^[\d]\s-\s[a-zA-Z]/代码>
这仍然只与“Hello”的第一个字母匹配,如果您想匹配整个单词,它将是:
var模式=/^[\d]\s-\s[a-zA-Z]+/代码>注意我根据您进行的正则表达式测试所做的以下更改
var str = '1 - Hello';
var pattern = /^\d\s-\s[a-z]/i;
//change made above
if(str.match(pattern))
{
alert('Hell Yeah');
}
else
alert('noooooooo');
请注意,在您的测试中,您编写的是hello
,而不是hello
。还请注意[\d]
与\d
完全相同,没有[]
。换句话说,var模式=/^\d\s-\s[a-z]/i代码>应该可以。@Matthijs:。看。@WiktorStribiżew即使我每天都在学习,很好,谢谢!仍然不起作用。我不在乎/^[\d]\s-\s[a-z]
后面是什么。模式应该是数字-空格-连字符(-)空格字符。@Inaseskull请澄清你的问题-如果你不在乎-
后面是什么,你为什么要找[a-z]
?/\d\s-\s/
//^\d\s-\s/
那么应该这样做吗?(如果您只想在开头匹配,请在开头添加^。