回答
假设你总是有两个数字,用这个:
var item = "item24";
var result = item.match(/(\d)(\d)$/);
var digit1 = result[1];
var digit2 = result[2];
如果你需要的是最后几位数字则:
\d+$
将做的工作。 \d+
表示1位或更多位数,而$
表示“结束”。然后你可以使用result_string[0]
和result_string[1]
(当然,你应该检查长度):
var txt = "item25";
var result = txt.match(/\d+$/);
if (result != null)
{
var digits = result[0];
alert(digits[0]);
alert(digits[1]);
}
您还可以使用正则表达式组,如:
(\d)(\d)$
你想为Extrac“23”给一个变量?
你在这里:
/^item([0-9]+)$/
将提取itemXXXXXX返回该号码的任何数字。
是的,我会被提取到变量,然后将其串连到另一个字符串 – Shouvik 2010-09-22 08:28:11
你不需要用这个问题来打扰正则表达式解析器。如果字符串到数字的第一部分始终是相同的长度,你可以使用slice()或substring():
var str = "item23";
alert(str.slice(4));
//-> 23
这将是比正则表达式更快,更复杂。如果您需要分开的数字,你可以将它们分割:
var arr = str.slice(4).split();
//-> ["2", "3"]
谢谢我不知道这种方法。将尝试一段时间... :) – Shouvik 2010-09-22 08:42:42
@Shouvik:根据我的经验,如果有更合适的方法可用,最好避免使用正则表达式。我已经更新了我的答案,其中包含一个解决方案,可以提供与您接受的答案相同的结果。 – 2010-09-22 08:45:18
假设文本总是4个字符长。 – 2010-09-22 08:51:10
- 1. 正则表达式匹配“CP”后跟3-5个数字
- 2. 正则表达式匹配数字后跟特定字符
- 3. 匹配字母后跟数字的正则表达式
- 4. 正则表达式匹配前两个字符后跟一个空格
- 5. 正则表达式以匹配0-2个字符后跟4个数字
- 6. 匹配两个URL正则表达式
- 7. 正则表达式匹配两个词
- 8. 两个正则表达式与匹配
- 9. 正则表达式MySQL - 匹配前两个字母,x数字
- 10. 正则表达式匹配不跟其他两个词
- 11. 正则表达式不能接受两个数字后跟c#
- 12. 正则表达式匹配两个两个字(或n乘n)
- 13. 正则表达式 - 匹配一个字
- 14. 正则表达式匹配两个不相等的数字
- 15. perl正则表达式数字匹配
- 16. 正则表达式以匹配特定的字符串后跟数字?
- 17. VBA正则表达式匹配两行
- 18. 正则表达式正则表达式匹配字符串
- 19. 正则表达式:匹配通配符随后的数字
- 20. 用正则表达式匹配两个后续单词?
- 21. python正则表达式后缀匹配
- 22. 正则表达式(grep)向后匹配
- 23. 正则表达式匹配后的词
- 24. Emacs正则表达式匹配行尾,后跟新行
- 25. C#正则表达式匹配号码后跟关闭括号
- 26. 正则表达式匹配一个可选的'+'符号后跟任意字
- 27. ELisp正则表达式:如果跟其他正则表达式匹配组
- 28. Javascript正则表达式匹配alpha长度后跟数字长度
- 29. 正则表达式匹配
- 30. 正则表达式匹配
感谢这个完美的作品。 – Shouvik 2010-09-22 08:41:52