2012-07-06 6 views
0

질문 1에서 문자열을 추출하는 방법을 예를 들면 다음과 같습니다따옴표 (큰 따옴표 또는 작은 따옴표)

,

 
    ... "ab'cd" ... 'ab"cd' ... 

을이 ab'cdab"cd를 각각 얻어야한다. 따옴표로 묶인 문자열이 많이있을 수 있습니다.


질문 2 :

어떻게 다음 문자열에서 text <td>...</td> text를 추출?

<abc>text <td>...</td> text</abc> 
<xyz>text <td>...</td> text</xyz> 
<def>text <td>...</td> text</def> 

ABC는, DEF, XYZ는 <td>에 중첩 될 수있다.

답변

0

나는 그것을 알아 냈다 - 역 참조를 사용했다.

(["'])(?<q>.+?)\1 
2

정규식 :

(?:"(?<text>[^"]*)")|(?:'(?<text>[^']*)')

전체 조각 :

Regex regex = new Regex(
@"(?:""(?<text>[^""]*)"")|(?:'(?<text>[^']*)')", 
RegexOptions.None 
); 

시험 가능한 my blog

+0

그것은 '(? [^ "] *)'번? 그것은 매우 길고 복잡한 패턴 일 수있다. – ca9163d9

1

이처럼 보이는 오른쪽 2에서 1 질문 (실버가 필요) ?

한 내 대답은

((.*)['"](.*)) 

입니다 후 # 2

<(abc|xyz|def)>(.*)<\/(abc|xyz|def)> 

ABC 방송 | xyz | 질문에 대한

("(?<content>[^"]*)")|('(?<content>[^']*)')

: - 데프 < 당신이 처음 질문 사용에 대한 결과

+0

제 2 용액은' ...을 일치'쓰기 방지하는 방법이며, – ca9163d9

+0

네, 조금은 잘 형성되어 있지 않지만 데이터가 어떻게 나오는지에 달려 있습니다. 원하는 경우는 다음과 같이 그것을 할 수 ( (*) <\/abc>.) | ( (*) <\/xyz>.) | ( (*) <\/def>.) – fedmich

0

를 사용하기 전에 공백을 TRIM하는 것을 잊지 그나마이

처럼 상상

>(?<content>\w*\s*<td>.*</td>[\w\s]*)<

그리고 이라는 그룹을 모두으로 가져옵니다.