Javascript 如何使用正则表达式与精确字符串匹配

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_1,我正在使用/None_1/搜索'None_1',但它甚至匹配“xxxNone”,但我的要求是它应该只匹配None_[任何数字]。 这是我的密码

/^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当前位置我还认为它是无效的。但是我试过了,它和它们完全匹配。好的,也试过了,它真的很有效(奇怪),学到了一些新的东西,谢谢。