2016-10-01 4 views
1

단어와 두 번째 숫자를 추출하는 두 그룹이 필요합니다. 예 :단어와 숫자를 별도의 그룹으로 캡처하는 정규식

['| Sofia   | 300'] 

필요가 추출 :

Group 1 - Sofia; Group 2 - 300 

내 정규식 시도 :이 일치하지 않는 이유를 이해하지 못하는

([a-zA-Z]+[ ]*[a-zA-Z]+)([0-9]+) 

합니다. 나는 지금 30 분 동안 독서를하고 있었고 어쩌면 문구를 올바르게 발음 할 수 없지만 해결책을 찾을 수는 없습니다. 여기 내 생각에는 각 괄호 세트가 그룹을 보유하고 있다는 것입니다. 정규식 자체가 잘 작동하는 것 같지만 두 그룹을 포착하려고하면 실패합니다. 분명히 나는 ​​다중 그룹 캡처에 대해 중요한 것을 놓치고있다.

+1

2 개의 예제와 예상 출력을 제공합니다. –

답변

2

의 문자가 "소피아"와 "300"사이에 일치하지 않아 일치하지 않습니다. 이것은 "Sofia300"과 일치하지만 "Sofia 300"또는 "Sofia | 300"과 일치하지는 않습니다. 이 시도 :

(\w+ *\w+).*?(\d+) 

(나는 간결 대신 [a-zA-Z]\w\d 대신 [0-9]을 사용하고 있습니다.)

+0

그래서 정규 표현식은()의 항목과 일치하지 않습니다. 알았어, 고마워. – Alex

2

다음은 당신에게 당신의 그룹을 줄 것이다 :

/([a-z]+).*\|\s([0-9]+)/i 

Example

관련 문제