Javascript 我将使用什么正则表达式来检索此字符串后面的数字?
我使用jQuery来检索class属性,我需要获取子字符串位置后面的数字的a子字符串 比如说 已选择位置7我需要检索位置7 比如说 已选择navitem位置14我需要检索14 我开始写:Javascript 我将使用什么正则表达式来检索此字符串后面的数字?,javascript,regex,Javascript,Regex,我使用jQuery来检索class属性,我需要获取子字符串位置后面的数字的a子字符串 比如说 已选择位置7我需要检索位置7 比如说 已选择navitem位置14我需要检索14 我开始写: $(this).attr('class').match(/(\d+)$/)) 但是正则表达式让我迷路了,非常感谢您的帮助。 我真的很喜欢正则表达式,但我还在学习 由于第一个答案而更新:可能还有另一组数字需要忽略 例如,选择navitem2位置14我需要检索14您可以替换不是数字的所有内容 str.replac
$(this).attr('class').match(/(\d+)$/))
但是正则表达式让我迷路了,非常感谢您的帮助。
我真的很喜欢正则表达式,但我还在学习
由于第一个答案而更新:可能还有另一组数字需要忽略
例如,选择navitem2位置14我需要检索14您可以替换不是数字的所有内容
str.replace(/\D/g,"");
如果字符串中存在其他数字,您仍然可以使用replace
str.replace(/^.*position(\d+).*$/,"$1");
但是,您可能希望在其他答案中使用其他正则表达式之一
var r = "aaa 1 bb 2 position 113 dd".match(/position\s*(\d+)/)
if (r instanceof Array )
return r.pop()
调用返回[position14,14],因此[1]元素是14
如果使用\d+,则它将匹配一组连续的数字。这只是说,仅当它直接跟随文本字符串位置时才匹配该组。您的尝试有两个问题。第一个是使用$将其锚定到字符串的末尾。因此,它不会在位置后给你数字,而是在字符串的末尾给你数字。同时你根本不提职位。您需要的是:
var matches = str.match(/position(\d+)/);
现在比赛就要开始了
如果你真的对学习正则表达式感兴趣,你应该仔细阅读,如果类中有另一组数字,而我在紧跟其后的数字后面,你会有什么反应?例如,选择navitem2位置14我需要检索14@PrimeLens好的一点,我已经提供了替代答案,尽管我不能使用其他已经给出的答案。不想成为一个抄袭者:
var matches = str.match(/position(\d+)/);
["position14", "14"]