regex JS正则表达式查找字符串开头的第一个数字

fdx2calv  于 2023-03-20  发布在  其他
关注(0)|答案(2)|浏览(204)

我需要在JS中执行一个非常简单的任务,但来自PHP,这对我来说是未知的领域...
所以我需要从一个字符串中提取第一个数字。这个字符串可以是以下之一:

180gr.
140gr. - 200gr.
unlimited food

因此,在上述情况下,我希望为第一个字符串提取180,为第二个字符串提取140,为第三个字符串提取空字符串。
在PHP中,执行此操作的命令是preg_match( '/^\d*/', $string, $matches );
有人能帮我弄清楚如何在JS中写这个吗?

dsf9zpds

dsf9zpds1#

您可以执行以下操作:

const string1 = "180gr.";
const string2 = "140gr. - 200gr.";
const string3 = "unlimited food";

function matchRegex(string) {
  const pattern = /^\d*/;

  const matchedString = string.match(pattern)[0];
  return matchedString.length ? `Matched: ${matchedString}` : "No match found";
}
console.log(matchRegex(string1));
console.log(matchRegex(string2));
console.log(matchRegex(string3));

这里,在这个模式中:/^\d*/
^:匹配字符串的开头
\d:匹配数字
*:匹配0个或多个前面的标记
注意:如果未找到匹配项,则会显示一条消息。String:length用于检查条件

vulvrdjw

vulvrdjw2#

以下代码将从字符串返回起始数字:

const extractNumber = (text) => {
  const numberPattern = /^\d+/;
  const match = text.match(numberPattern);

  return match ? match[0] : ''
}

相关问题