繁体   English   中英

Javascript正则表达式匹配字符串的一部分但不是整个字符串

[英]Javascript regex to match part of the string but not the whole string

这是我的正则表达式: (-?\\d+)-(-?\\d+)

目的是匹配表示范围的字符串,包括负数。 例如:

  • 1-10
  • 0-100
  • -1-10 ,但还有:
  • -100--10

然后使用我的正则表达式,我将捕获第一个数字、最后一个数字以及整个字符串。 在角度:

let regExp : RegExp = RegExp('(-?\\d+)-(-?\\d+)', 'g');
let values: RegExpExecArray = regExp.exec('-100--10');

values结果中,我可以使用位置values[1]values[2] ,因为values[0]是为整个字符串保留的。

显然,以上对我有用,但是您知道如何使我的正则表达式更精确吗? 我不希望匹配整个字符串

在您的模式中(-?\\\\d+)正在重复,因此您只能使用此模式在text进行匹配。

let pattern = RegExp('(-?\\d+)', 'g')
let text = '-100--10'
text.match(pattern)   //output: ["-100", "-10"]

这样,您不必匹配整个字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM