Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用正则表达式在两个特定字符串之间匹配版本号_Javascript_Regex - Fatal编程技术网

Javascript 使用正则表达式在两个特定字符串之间匹配版本号

Javascript 使用正则表达式在两个特定字符串之间匹配版本号,javascript,regex,Javascript,Regex,假设我有以下字符串: 这是一个非常随机的字符串,其中包含版本号3.2.1,我希望只提取版本号。这是我不想提取的第二个版本号:5.7.8,只是为了好玩,这是第三个版本号9.0.1 是否可以使用一个正则表达式仅提取第一个版本号,即3.2.1?我使用的是JavaScript,虽然我已经能够通过搜索围绕版本号的两个字符串,然后在它们之间搜索版本号来使用两个单独的正则表达式来提取它,但我还没有找到如何将它们合并为一个 需要注意的重要一点是,该字符串包含许多版本号,它们位于我要提取的版本号之前和之后。然而,

假设我有以下字符串:

这是一个非常随机的字符串,其中包含版本号3.2.1,我希望只提取版本号。这是我不想提取的第二个版本号:5.7.8,只是为了好玩,这是第三个版本号9.0.1

是否可以使用一个正则表达式仅提取第一个版本号,即3.2.1?我使用的是JavaScript,虽然我已经能够通过搜索围绕版本号的两个字符串,然后在它们之间搜索版本号来使用两个单独的正则表达式来提取它,但我还没有找到如何将它们合并为一个

需要注意的重要一点是,该字符串包含许多版本号,它们位于我要提取的版本号之前和之后。然而,我要提取的版本号总是位于单词number和looking之间

非常感谢您的帮助


谢谢

没有添加/g标志基本上只是返回第一个匹配!如果没有匹配项,则返回null。 您可以创建非捕获组以仅获取匹配中所需的值

let string=这是一个非常随机的字符串,其中包含版本号3.2.1,我希望只提取版本号。这是我不想提取的第二个版本号:5.7.8,只是为了好玩,这是第三个版本号9.0.1; 结果=string.match/number?:.*\d.\d?:.*looking/; ifresult{ 控制台。日志结果[1];
}你的问题不清楚-除了第一个版本号之外,第一个版本号与其他版本号的区别是什么?@不重要,谢谢你的回答。很抱歉,不够清晰。第一个版本号始终位于上面示例中的两个特定字符串(number和looking)之间。除了改变的版本号,整个字符串都是常量。是的,但是OP并不总是在文本中查找第一个,而是第一个位于其他两个单词之间。很抱歉,我说得不够清楚。我已经编辑了我的原始帖子。@不重要,我已经更新了答案