2013-08-19 4 views
0

의 끝에 문자를 건너 방법 :나는 다음 정규 표현식을 정규 표현식

const string pattern  = "(\\w)</span>"; 
const string replace  = "$1&nbsp;</span>"; 
var rgx      = new Regex(pattern); 

그래서, 그것은 바로 앞에 상징으로 완료하고 모든 것을 일치합니다. 나는 그것의 끝에 구두점을 한 번을 제외하고 같은 문구를 일치하도록 할

예 :

Mom</span>, is awesome .... 

내가 그것을 또한 일치하지 않습니다

Adventure is the best</span>. So now we keep on doin it ... 
내가 시도 :

const string pattern  = "(\\w)</span>[^\\W]$"; 
const string pattern  = "(\\w)</span>(^\\W)$"; 

하지만 전혀 작동하지 않았다.

내가 찾고 있어요 결과 : 문구가있는 경우 :

나는 내가 앞에 공간을 추가 할 해달라고 때문에, 그것과 일치하지 않을 HTML 텍스트의 한 부분으로
Mom</span>, Dad 

쉼표 -> 엄마, 아빠. 엄마가 아빠를 파스하고 나면 엄마가되고 싶어요.

하지만이 있다면 :

Mom</span>and Dad (After parsing it comes like : Momand Dad) 

나는 전에 공간을 추가 "와"그것은 구문 분석 후 "엄마와 아빠"로 전환 할 수 있습니다.

내가 지금 무엇을하려고하는지 아이디어를 얻을 수 있기를 바랍니다.

+2

나는 그것을 조금 수정해야하는 문자열에 HTML 콘텐츠를 할당 pack.When 내가 actualy 정확히 HTML 민첩성을 사용하고 – Sayse

+0

을 (HTML 민첩성 팩을보십시오) HTML .. 구문 분석을 정규식을 사용하지 않는 이것이 정규 표현식을 사용하는 이유입니다. – mathinvalidnik

답변

2

이 시도 : 구두점 전에 약간의 공백이있을 경우

const string pattern = "(\\w)</span>(?![.])"; 

, 당신이 시도 할 수 있습니다 :

const string pattern = "(\\w)</span>(?!\s*[.])"; 
+0

그룹 (?! [.])이 정확히 무엇을하고 있는지 말해 줄 수 있습니까? 다음과 같이 추가 할 수 있습니까? (\\ w) (?! ([.] | [,] | [:])))? 그래서 쉼표와 더블 쉼표를 건너 뛸 수 있습니까? – mathinvalidnik

+0

@mathinvalidnik 즉'Lookahead'라고하면 정규 표현식에서'Lookahead','Lookbehind'와'Look-around'를 검색 할 수 있습니다. 더 많은 문자를 추가하려면'(?! [:, :])' –

0

방법에 대해 :

const string pattern  = "(\\w)</span>[^,.]"; 

이 [^, .]는 :, 또는와 다른 임의의 한 문자를 의미합니다.

[^ ,.; :] 또는 필요한 항목을 확장 할 수 있습니다. * 또는 +와 같은 수량 기호를 사용하여 둘 이상의 구두점 문자가있을 수 있습니다.

+0

은 어디로 갔습니까? – mathinvalidnik

+0

코드 들여 쓰기에 나쁘다. 에디터는 HTML이므로을 먹었다. – raul

0
I tried something but i could not get any direct idea. Just sharing some different method. 
    Have two pattern one with punctuation and another without punctuation 

    Without punctuation pattern: 
     const string pattern = "(\\w)</span>([^\.\,]+)$"; (u replace with space) 
    Another one with punctuation pattern: 
     const string pattern = "(\\w)</span>[\,\.\\w]+$"; (u replace without space) 


In both pattern add the punctuations you want at end eg. ([^\:\;]+)$ 
+0

귀하의 제안이 저에게 효과적이지 않습니다. – mathinvalidnik

+0

귀하의 요구 사항을 이해할 수 없으므로 원하는 결과물과 원하는 결과물을 정확히 알려주십시오. 예 : – Prathiesh

+0

이제 편집됩니다. – mathinvalidnik