2015-02-02 3 views
2

서비스 기모노를 사용하여 일부 데이터를 구문 분석하고이 서비스에는 특정 3 그룹 정규 표현식 도구가 있습니다.끝에서 두 번째 문장 이후의 모든 텍스트를 가져 오는 정규 표현식

첫 번째 그룹은 필요한 텍스트 앞에 필요한 텍스트이고, 필요한 텍스트 뒤에는 표현식이고 세 번째는 필요한 텍스트 뒤에 나오는 표현식입니다. 내가 {Olive oil in glass bottle 500 ml.} 같은 문장을 가지고 있고 그 결과가 있어야한다, 그래서 나는 마지막 점을 제외하고 끝에서 두 번째 공간 이후에만 텍스트를 얻을 필요가

/^()([^]*?)()$/

: 같은

그래서, 기본적으로 보이는

500 ml

내 시도가 성공하지 못했습니다.

+0

에? 한 줄 또는 여러 줄의 텍스트를 인쇄하고 싶습니까? –

답변

0

Lookahead에 대한 지원이 있다면이 방법을 사용해보세요.

^(.*?(?=\s[^ ]*\s[^ ]*$))([^.]*?)(.)$ 

데모를 참조하십시오.

https://regex101.com/r/vD5iH9/35

또는

^([^\d]*)([^.]*?)(.)$ 

참조 데모.

https://regex101.com/r/vD5iH9/36

또는

^(.*?\s)([^\s]*\s[^\s]*)(\.)$ 

참조 데모.

https://regex101.com/r/vD5iH9/37

+0

첫 번째 작품은 저에게 좋습니다! 고맙습니다! – Kamnibula

+0

@Kamnibula는 당신을 위해 일하면 받아들입니다. – vks

0

아래 정규식을 사용하고 1

^.*?\s(?=\S*\s\S*$)([^.]*)\. 

(?=\S*\s\S*$) 긍정적 예측이 하나의 공간이 존재가 있어야한다는 주장 그룹 인덱스에서 원하는 문자열을 얻을.

DEMO

+0

나는 왜 그런지 모르지만, kimonolabs.com에서는 작동하지 않습니다. :( – Kamnibula

0

방법에 대해 :

(\S+\s+\S+)\.$ 

원하는 텍스트가 실행중인 언어 그룹 1