2013-08-01 4 views
2

다음과 같은 측정 단위 문자열을 반환하는 함수가 있습니다. 배럴 [US, Liquid] [BBL] JavaScript 문자열 방법과 함께 작동하는 정규식이 필요하고 반환 또는이 두 가지 옵션으로 문자열을 수정 중 하나JavaScript에서 UM 문자열을 구문 분석하는 정규식

A)의 약어 (예 : BBL)

b)의 ​​약어를 들어 전체 이름 (예를 들면 배럴 [US, 액체])

를 얻을 수를 얻을 수 나는 이미 다른 UMs의 대부분을 위해 작동하는 string.match(/\[(.*)\]/)[1]을 시도했다. (Bank Cubi c Meter [BCm]). 그러나 위의 예에서 벗어나 미국을 돌아 왔고, Liquid [BBL. 사전

답변

1

에서

덕분에 나는

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

가 약자 및 그 주위의 괄호를 제거하는 데 사용하는 것입니다.

는 약어는 괄호로 둘러싸인 약어를 반환하는

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

사용 얻으려면. 그런 다음 대괄호 안의 약어를 사용하려면

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

을 사용하십시오. (이것은 약어가 단어 문자 (문자, 숫자 및 밑줄)로 구성되었다고 가정합니다). 귀하의 약어가 다른 문자를 포함하면이 정규식은 괄호를 제외하고 모든 것을 포착합니다.

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

필자가 언급 할만한 가치가있는 한 가지는 match 메소드가 배열을 반환한다는 것입니다. 따라서 문자열을 얻으려면 구문에 [0]을 추가해야합니다. – SwankSwashbucklers

+0

감사합니다. 나는 그것을 고쳤다. – connor

관련 문제