Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript正则表达式总是返回false吗?_Javascript_Regex - Fatal编程技术网

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/
那么应该这样做吗?(如果您只想在开头匹配,请在开头添加^。