2

我有一个返回度量单位字符串的函数,例如:Barrel [US, Liquid] [BBL] 我想要一个与 JavaScript 字符串方法一起使用的正则表达式,并将字符串返回或修改为以下两个选项:

a) 获取缩写(例如 BBL)

b) 获取全名(例如 Barrel [US, Liquid])

对于我已经尝试过的缩写string.match(/\[(.*)\]/)[1],它适用于大多数其他 UM(如银行立方米 [BCm]),但在我上面的示例中中断,返回 US, Liquid] [BBL.

提前致谢

4

1 回答 1

1

我会用

string.replace(/\[[^\[\]]*]$/, "") 

摆脱缩写和它周围的括号。

要获取缩写,请使用

string.match(/\[[^\[\]]*]$/)[0] 

这将返回括号括起来的缩写。然后使用

string.match(/\w+/)[0] 

从括号内获取缩写。(这假设您的缩写由单词字符(字母、数字和下划线)组成)。如果您的缩写包含其他字符,则此正则表达式将捕获除括号之外的所有内容。

string.match(/[^\[\]]+/)[0]
于 2013-08-01T14:14:02.090 回答