我需要在JS中执行一个非常简单的任务,但来自PHP,这对我来说是未知的领域...所以我需要从一个字符串中提取第一个数字。这个字符串可以是以下之一:
180gr. 140gr. - 200gr. unlimited food
因此,在上述情况下,我希望为第一个字符串提取180,为第二个字符串提取140,为第三个字符串提取空字符串。在PHP中,执行此操作的命令是preg_match( '/^\d*/', $string, $matches );。有人能帮我弄清楚如何在JS中写这个吗?
preg_match( '/^\d*/', $string, $matches );
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用于检查条件
/^\d*/
^
\d
*
vulvrdjw2#
以下代码将从字符串返回起始数字:
const extractNumber = (text) => { const numberPattern = /^\d+/; const match = text.match(numberPattern); return match ? match[0] : '' }
2条答案
按热度按时间dsf9zpds1#
您可以执行以下操作:
这里,在这个模式中:
/^\d*/
:^
:匹配字符串的开头\d
:匹配数字*
:匹配0个或多个前面的标记注意:如果未找到匹配项,则会显示一条消息。String:length用于检查条件
vulvrdjw2#
以下代码将从字符串返回起始数字: