正则表达式在js中搜索数字或数字和空格到搜索词的长度。本例为 3-5 个字符,如有空格

问题描述 投票:0回答:1

我从下面的列表中找到值“ddd”、“dsdd”、“ddsd”:“150 EUR 15 000 EUR 150 150 EUR 1 500 EUR”。

我尝试过:

/(\d{3})|(\d+\s\d{1,2})/gm

测试结果:(粗体值不要匹配)

  • 150
  • 15 00
  • 150
  • 150
  • 1 50
javascript regex currency
1个回答
0
投票

交替的第二部分

\d+\s\d{1,2}
仅匹配单个空白字符一次,
\d+
匹配 1 个或多个数字,
\d{1,2}
匹配 1 个或 2 个数字。

要匹配 3 位数字,请在第一个和第二个数字之间或第二个和第三个数字之间使用空格字符,或者仅匹配 3 个数字:

\b\d(?:\s?\d|\d\s)\d

模式匹配:

  • \b
    防止部分单词匹配的单词边界
  • \d
    匹配数字
  • (?:
    替代方案的非捕获组
    • \s?\d
      匹配可选的空白字符后跟数字
    • |
      或者
    • \d\s
      匹配数字后跟空白字符
  • )
    关闭群组
  • \d
    匹配数字

查看 正则表达式演示

© www.soinside.com 2019 - 2024. All rights reserved.