使用regextract提取括号内字符串中的数字

使用regextract提取括号内字符串中的数字,regex,google-sheets,Regex,Google Sheets,我试图用abbrev从谷歌表单中的会计数字中提取数字(float?)。像K、M、B这样的单位,有时在负数时用括号括起来。对不起,我对正则表达式如此陌生,如何编写涵盖(213M)、(31.23B)等不同可能性的常规express 你可以用 \((-?\d+(?:\.\d+)?)[KMB]\) 详细信息 \(-文字(字符) (?\d+(?:\。\d+)-第1组: -?-可选的- \d+-1+位 (?:\。\d+)-一个可选的非捕获组,匹配一个点的一次或零次出现,后跟1+个数字 [KMB]-与

我试图用abbrev从谷歌表单中的会计数字中提取数字(float?)。像K、M、B这样的单位,有时在负数时用括号括起来。对不起,我对正则表达式如此陌生,如何编写涵盖(213M)、(31.23B)等不同可能性的常规express

你可以用

\((-?\d+(?:\.\d+)?)[KMB]\)
详细信息

  • \(
    -文字
    字符)
  • (?\d+(?:\。\d+)
    -第1组:
    • -?
      -可选的
      -
    • \d+
      -1+位
    • (?:\。\d+)
      -一个可选的非捕获组,匹配一个点的一次或零次出现,后跟1+个数字
  • [KMB]
    -与
    K
    M
    B
  • \)
    -文字
    字符

如果您不需要这些字母,但想匹配它们,请参见。

(?\d+(?:\。\d+)?[KMB]
。如果您必须检查括号-
\(((?\d+(?:\。\d+))[KMB]\)
如果负数时数字有时可能在括号之间,您可以使用两个捕获组,交替使用
\((?:(?:(?:\。\d+)\124\[(\ d+(?:\。\d+)[KMB]\)
)。您也可以将它们设置为可选,但它也将匹配,然后其中一个括号出现
\(\[?(\d+(?:\。\d+)\]?[KMB]\)
\((-?\d+(?:\.\d+)?)[KMB]\)