2009-10-08 2 views
1

저는 Yahoo Pipes를 사용하여 트위터 피드를 가져 와서 정보를 필터링합니다. 파이프의 정규식 함수는 __________ 반복을 대체합니다.간단한 정규식 프로그래밍 문제

내 예입니다 : 나는 큰 따옴표 안에 무엇을 제외한 모든를 선택하는 정규식 문자열을 찾기 위해 노력하고

Testbedots: happy "twins" 

. 인용문 집합이 하나만 있다고 가정하고 있습니다. regex의 대체 측면에서 사람들은 $ 1, $ 2, $ 3을 사용하여 정규 표현식 함수의 첫 번째 부분에서 변수로 식별 된 것을 대체합니다. 아이디어는 단어 쌍둥이를 당기는 것입니다. 또는 무엇이든 따옴표 사이에 있고 라인 전체를 바꾸는 것입니다.

어떤 권장 사항이 있습니까? 나는 정규 표현식에서 분명히 새로운 것이지만 몇 시간 동안 온라인 튜토리얼을 읽지 않고있다.

, 당신의 도움을

스카 일러 감사

+0

따옴표 사이의 텍스트가 이스케이프 처리되는 따옴표를 포함 할 수 있습니까? 그렇다면 이스케이프 문자는 무엇입니까? 백 슬래시? 이것은 정규식을 상당히 복잡하게 만듭니다. – Asaph

답변

0

이 "이 전에 말씀 드릴 것이 정규 표현식

(\w+:.*?) "

을 시도해보십시오 한 칸 띄운 다음 이전 캐릭터와 가장 큰 문자 순서를 ' 큰 따옴표로 "

0

파이프 구문에 확실하지 않지만 일반적으로 perl 호환 정규식 구문을 사용합니다. 다른 따옴표에 도달 할 때까지 비 따옴표 문자와 일치, 이중 인용 부호에 일치 시작, 즉

/"([^"]*)"/ 

: 이케

s/[^"]*"([^"]+)"[^"]*/$1/ 
0

나는 아마 정규 표현식을 써서 . 괄호는 관심있는 내용을 나타냅니다. 적어도 하나의 문자 (빈 문자열이 작동하지 않음)를 원하면 ***** 대신 +을 입력하십시오.

이렇게하면 관심있는 비트를 $ 1 또는 사용자의 특정 구문이 첫 번째 캡처 된 일치 항목에 맞게 배치합니다. 당신이 인용 텍스트 전체 라인을 대체하기 위해이 표현을 사용할 수 있습니다 야후 파이프에서

1

: 귀하의 예를 들어

$1 

함께

^.*"(.*)".*$ 

및 교체, 그것은 Testbedots을 대체 할 것이다 : 행복한 "쌍둥이"쌍둥이. 나는 가정

항상 정확히 두 개의 따옴표 (")가 텍스트의. 또한

주의, 귀하의 질문에 조금 혼란이다. 당신이 표현 원하는 며"하지만 모든 선택 무슨 " 큰 따옴표 안에 있습니다. 전체 줄을 원하지만 이 아닌 것 같습니다.은 인용 된 텍스트입니다.