Javascript 如何使用正则表达式与精确字符串匹配
我有一个小要求。我想搜索一个精确匹配的字符串。 假设我想搜索None_1,我正在使用/None_1/搜索'None_1',但它甚至匹配“xxxNone”,但我的要求是它应该只匹配None_[任何数字]。 这是我的密码Javascript 如何使用正则表达式与精确字符串匹配,javascript,regex,Javascript,Regex,我有一个小要求。我想搜索一个精确匹配的字符串。 假设我想搜索None_1,我正在使用/None_1/搜索'None_1',但它甚至匹配“xxxNone”,但我的要求是它应该只匹配None_[任何数字]。 这是我的密码 /^None_+[0-9]{?}/ 因此,它应该只匹配None_1,None_2您还应该在行的末尾锚定表达式。但单凭这一点是行不通的。你的表达是错误的。我认为应该是: /^None_[0-9]+$/ ^匹配行首 [0-9]+匹配一个或多个数字 无匹配无 $匹配行尾 如果只想
/^None_+[0-9]{?}/
因此,它应该只匹配None_1,None_2您还应该在行的末尾锚定表达式。但单凭这一点是行不通的。你的表达是错误的。我认为应该是:
/^None_[0-9]+$/
匹配行首^
匹配一个或多个数字[0-9]+
匹配无
无
匹配行尾$
+
原始表达式
/^None+[0-9]{?}/
的工作方式如下:
匹配行首^
匹配None
None
匹配一个或多个下划线
匹配一位数字[0-9]
匹配可选的左括号{?
{
匹配}
}
/^None+[0-9]{?}$/
我同意你对花括号的解释。如果你想匹配它们,你就必须避开它们。我不知道这样使用会发生什么,我认为这是无效的。通常情况下,它应该看起来像这样的{1,5}
,表示匹配[0-9]
的1到5。反正+1@stema当前位置我还认为它是无效的。但是我试过了,它和它们完全匹配。好的,也试过了,它真的很有效(奇怪),学到了一些新的东西,谢谢。