gpt4 book ai didi

javascript - 无法弄清楚这个正则表达式

转载 作者:行者123 更新时间:2023-12-01 02:16:57 28 4
gpt4 key购买 nike

我正在创建一个正则表达式,它应该遍历此列表并返回以下值。

['-- /\ 11.5', '- /\ 11.5', '    x-small', '-- x-small', 'us 8.5']

期望的输出:

['11.5', '11.5', 'x-small', 'x-small', 'us 8.5']

我正在使用的正则表达式:

let testRe = /(?!-)[a-zA-Z0-9\.\-]+/

我得到的输出:

['11.5', '11.5', 'x-small', 'x-small', 'us']

正如您所看到的,问题在于如何让我们和 8.5 之间的空间返回。我已经尝试了正则表达式的许多不同变体,但我似乎无法找到一个可以与其他变体一起使用的正则表达式。

我基本上需要一个正则表达式:从字符串中的第一个数字/字母开始,选取第一个和最后一个数字/字母之间的任何内容,然后返回它。

感谢您的见解

最佳答案

你可以试试这个:

([a-zA-Z0-9.][a-zA-Z0-9.\- ]*[a-zA-Z0-9.\-])

Demo

说明:

  • [a-zA-Z0-9.] 匹配应位于我们要查找的子字符串开头的字母、数字或点
  • [a-zA-Z0-9.\- ]* 还匹配破折号 - 和空格 (因为两者都允许在子串内)。可以重复。
  • [a-zA-Z0-9.\-] 最后一个允许的字符可以是字母、数字或点。在末尾使用它限制了内部重复的范围,并确保我们匹配直到最后一个允许的字符。

关于javascript - 无法弄清楚这个正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49439712/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com