javascript正则表达式的验证

javascript正则表达式的验证,javascript,regex,Javascript,Regex,我有以下javascript字符串: #d1{width:100px;}它看起来像css代码 现在,我编写了一个正则表达式,在字符串中查找以#或开头的元素 正则表达式如下所示: /(?:(#|\.)([A-Za-z0-1\-]+))/g 上面的正则表达式成功地匹配了类似上面的字符串 但是现在,当我在谷歌控制台中用上面的字符串测试这个正则表达式时,它返回false 我写的是: var str = "#d1{width:100px} " // returns undefined var regex

我有以下javascript字符串:

#d1{width:100px;}
它看起来像css代码

现在,我编写了一个正则表达式,在字符串中查找以
#
开头的元素

正则表达式如下所示:

/(?:(#|\.)([A-Za-z0-1\-]+))/g
上面的正则表达式成功地匹配了类似上面的字符串

但是现在,当我在谷歌控制台中用上面的字符串测试这个正则表达式时,它返回false

我写的是:

var str = "#d1{width:100px} " // returns undefined
var regex = / (?:(#|\.)([A-Za-z0-1\-]+)) /g //undefrined
regex.test(str) // returns false

为什么不起作用?

正则表达式中可能不希望有空格:

var str = "#d1{width:100px} " // returns undefined
var regex = /(?:(#|\.)([A-Za-z0-1\-]+))/g //undefrined
//           ^-------------------------^----- see, no spaces here
regex.test(str) // returns true

正则表达式中有可能不需要的空格:

var str = "#d1{width:100px} " // returns undefined
var regex = /(?:(#|\.)([A-Za-z0-1\-]+))/g //undefrined
//           ^-------------------------^----- see, no spaces here
regex.test(str) // returns true

试试这个。这些介于/和偏执之间的空格是急促的

函数regtest()
{
var str=“#d1{width:100px}”//返回未定义
var regex=/(?:(#|\)([A-Za-z0-1\-]+)/g//未定义
警报(正则表达式测试(str));
}

测试
试试这个。这些介于/和偏执之间的空格是急促的

函数regtest()
{
var str=“#d1{width:100px}”//返回未定义
var regex=/(?:(#|\)([A-Za-z0-1\-]+)/g//未定义
警报(正则表达式测试(str));
}

测试
您尝试过没有空格的测试吗
regex=/(?:(#|\)([A-Za-z0-1\-]+)/g
?您在没有空格的情况下尝试过吗
regex=/(?:(#|\)([A-Za-z0-1\-]+)/g
?您不需要选择捕获组或非捕获组。只要
[#.][A-Za-z0-1-]+
就可以了。您不需要选择捕获组或非捕获组。只要
[#.][A-Za-z0-1-]+
就可以了。