/((\w)\2)/
반복되는 문자를 찾습니다. 두 번째 캡처 그룹과 일치하는 문자를 무시하여 생성 된 2 차원 배열을 피하기를 바랬다 : /((?:\w)\2)/
. 그것은 불가능한 것 같습니다. 어떤 아이디어?패턴을 반복하는 데 사용되는 Regex의 캡처 그룹을 무시합니다.
0
A
답변
1
당신은 필요가 없습니다 어떤 캡처 그룹을 :
str = [*'a+'..'z+', *'A+'..'Z+', *'0+'..'9+', '_+'].join('|')
#=> "a+|b+| ... |z+|A+|B+| ... |Z+|0+|1+| ... |9+|_+"
"aaabbcddd".scan(/#{str}/)
#=> ["aaa", "bb", "c", "ddd"]
1 개가 있어야한다고 주장하는 경우 :
"aaabbcddd".scan(/(#{str})/).flatten(1)
#=> ["aaa", "bb", "c", "ddd"]
이 속임수인가요? 당신은 그것이 가능한지 묻습니다..
+0
그래,하지만 멋 있었어 :) –
0
당신이 String#scan
을 사용하는 것을 의미하는 경우 결과 첫 번째 항목 Enumerable#map
반환 사후 처리 할 수 있습니다
'helloo'.scan(/((\w)\2)/)
# => [["ll", "l"], ["oo", "o"]]
'helloo'.scan(/((\w)\2)/).map { |m| m[0] }
# => ["ll", "oo"]
관련 문제
- 1. 캡처 그룹을 반복하는 방법은 무엇입니까?
- 2. regex의 그룹을 선택 사항으로 표시
- 3. 라디오 버튼 그룹을 반복하는 데 도움이
- 4. 캡처 그룹이있는 RegEx의 공백 문제
- 5. Regex의 실수
- 6. RegEx의 문자 바로 앞에 공백을 무시합니다.
- 7. 레일즈 Gemfile의 그룹을 무시합니다.
- 8. 키네틱 그룹을 반복하는 방법
- 9. now.js로 그룹을 반복하는 법
- 10. 그룹을 확장하고 반복하는 방법
- 11. Docker는 .dockerignore의 패턴을 무시합니다.
- 12. 동일한 컨트롤을 반복하는 데 사용되는 컨트롤/스타일이어야하는 항목
- 13. regex는 캡쳐 그룹 내 캡쳐 그룹을 무시합니다.
- 14. 문제 캡처 .NET 정규식 패턴을 만드는 데 여러 라인 텍스트
- 15. 활동에서보기 그룹을 반복하는 방법은 무엇입니까?
- 16. 문자열의 전체 패턴을 대문자로 무시합니다
- 17. git에서 특정 파일 패턴을 무시합니다.
- 18. 미리보기 패턴을 반복하는 방법은 무엇입니까?
- 19. 자바 패턴 캡처 그룹을 반복
- 20. 여러 캡처 그룹을 가진 정규식
- 21. 실패는 [(. *) \] 정규식 \의에서 그룹을 캡처
- 22. 정규식 문구를 일치하고 캡처 그룹을 만들
- 23. VB.New 여러 그룹으로 LINQ 그룹을 반복하는 방법
- 24. notepad ++에서 regex 캡처 그룹을 강조 하시겠습니까?
- 25. XML 스키마에서 regex의 올바른 구문
- 26. Bundler가 레일 애플 리케이션의 그룹을 무시합니다
- 27. 양식없이 라디오 버튼 그룹을 반복하는 방법은 무엇입니까?
- 28. Crystal Reports의 레코드 그룹을 반복하는 방법
- 29. Python Regex의 패턴 일치
- 30. Regex의 백 슬래시 - PHP
질문에 "최근 질문"에 대한 링크를 추가 할 수 있습니까? –
질문 자체가 혼자 있습니다. 이 질문을 이해하기 위해 독자가 다른 질문이나 다른 웹 사이트를 참조하도록하지 마십시오. 정규 표현식은 2 차원 배열을 반환하지 않습니다. 사실, 아무 것도하지 않습니다. 정규식을 사용하는 방법은 어떤 것을 반환 할 수 있습니다. – sawa
감사합니다. @와! 다음 번에 돌봐 줄거야! –