JavaScript中的正则表达式以解析UM字符串

时间:2013-08-01 14:01:07

标签: javascript regex

我有一个返回度量单位字符串的函数,例如: 桶[美国,液体] [BBL] 我想要一个使用JavaScript字符串方法的正则表达式,并将字符串返回或修改为这两个选项:

a)得到缩写(例如BBL)

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

对于缩写我已经尝试了string.match(/\[(.*)\]/)[1],这适用于大多数其他UM(如Bank Cubic Meter [BCm]),但我在上面的示例中断了,返回US,Liquid] [BBL。

提前致谢

1 个答案:

答案 0 :(得分:1)

我用

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

去掉它周围的缩写和括号。

要使用缩写

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

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

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

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

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