펄 분할 함수를 사용하여 패턴의 정의 된 위치에서 문자열을 분리 할 수있는 방법이 있습니까? 예를 들어, @array=split(/pattern/, $string)
을 사용하면 split $string
의 배열을 얻지 만 패턴으로 정의 된 문자열의 일부가 해당 배열에 없습니다. 분할 할 패턴의 위치를 지정할 수 있습니까? $string
의 모든 부분이 @array
에 포함되어 있습니까?정의 된 패턴 위치에있는 Perl 분할
1
A
답변
6
예를 들어, 예를 들어 tg
다음에 gg
앞에 한 번에 나누기를 원하는 것처럼 보입니다.
split
은 정규 표현식을 사용하므로 둘러보기 어설 션을 사용할 수 있습니다.
예를 들어 Extended Patterns in perlre
에서 그들에 대해 자세히
use strict;
use warnings;
my $s = 'aaaatgggccc';
my @fields = split /(?<=tg)(?=gg)/, $s;
print "$_\n" for @fields;
출력
aaaatg
ggccc
+0
이것은 대단해! 고마워, 링크도! – Daniel
0
@ Mat의 답변이 좋으며 아마 내가 사용하는 것입니다.
my $pattern = qr/MY_PATTERN/;
my @array = /($pattern)($string)?/g;
/g
수정 반복적으로 일치하는 패턴을 발생합니다 그러나, 완성도,에 맞게 수있는 또 다른 방법이있다. ?
은 달성하려는 정확한 효과에 따라 선택 사항입니다.
관련 문제
- 1. 미리 정의 된 위치에있는 Android 터치
- 2. 유연한 분할 작성, perl
- 3. 정규식을 기반으로하는 패턴 분할
- 4. 도메인에 정의 된 사양 패턴
- 5. 연속 된 메모리 위치에있는 행렬
- 6. 하위 경로로 패스로 정의 된 분할 모양
- 7. C# 정규식 Java 패턴 분할
- 8. 화면의 사용자 정의 위치에있는 J2ME 티커
- 9. Perl 일반 표현 패턴 길이
- 10. 페더 레이 티드 (가로로 분할 된) 데이터베이스의 기본 키 패턴
- 11. Perl 버전 번호를 비표준 위치에있는 Perl 모듈의 "lib 사용"행에 넣는 것을 피할 수있는 방법이 있습니까?
- 12. 문자열의 사용자 정의 분할
- 13. 포장 풀기로 Perl 이진 데이터를 청크로 분할
- 14. perl : 줄 바꿈 문자를 사용하여 문자열 분할
- 15. android position 이미지의 고정 된 위치에있는 TextView
- 16. 복합 패턴 정의
- 17. 패턴 일치를 위해 생성자를 분할 하시겠습니까?
- 18. 문자열을 반복 패턴, 유지 분리 문자로 분할
- 19. Perl : 현재 위치에서 줄 끝까지 패턴 바꾸기
- 20. Perl, 패턴 일치 및 메타 문자
- 21. 이 perl 패턴 일치의 문제점은 무엇입니까?
- 22. 일반적인 Perl 메모리/참조 누수 패턴?
- 23. Perl 문자열이 패턴 다음에 일부를 제거합니다.
- 24. perl, \ D + 다른 조건을 사용하는 패턴 일치
- 25. perl : 패턴 일치를 기초로 한 문자열 추출
- 26. 전용 패키지의 perl 상수 정의
- 27. 파일 간의 분할 "dict"정의
- 28. 플렉스 HDividedBox 사용자 정의 분할
- 29. 고정 된 위치에있는 요소 안에 절대적으로 배치 된 요소
- 30. perl cgi | 정의 목록 구문
당신이 분할 당신이 원하는 어떤 문자열의 종류의 예를 들어 줄 수있는 시간과 장소를 그들을 쪼개고 싶니? – edb
예를 들어, 패턴 "tggg"는 aaaatgggccc 문자열을 aaaa 및 ccc로 분할합니다. 내가 뭘하고 싶은지 패턴 내에서 분할 위치를 정의하고 말할 두 번째 패턴 문자 다음에 문자열을 분할하는 것입니다 : aaaatg 및 ggccc – Daniel