2011-12-24 2 views
0

안녕하세요 저는 그들 사이에 대문자 단어가있는 단어를 찾기 위해 정규 표현식을 만들고 싶습니다. 아무도 그것을 찾을 방법을 말해 줄 수 있습니까? 예를 들어이상한 단어 조합을위한 정규 표현식 만들기

는 : I went to a school forEducation and then didn't study.

나는 forEducation 같은 단어를 원한다. 모든 알파벳을 찾기 위해 [a-z][A-Z]을 사용한다고 생각하지만 실제로 찾을 수는 없습니다. 위의 두 옵션을 병합하는 방법을 생각하고 있지만 대문자를 확인하는 방법은 무엇입니까? 또한 나는 처음부터 대문자가있는 단어를 선택하고 싶지는 않습니다. 왜냐하면 그 단어는 유효하기 때문입니다.

이유 : 온라인 웹 사이트에서 텍스트를 스크래핑하기 때문에 발생하며 서식이 올바르지 않습니다. 나는이 단어들을 텍스트로 받아서 바꾸려고합니다. 내가 제대로 추측하고있어, 당신이 원하는

+0

I went to a school forEducation and then didn't study. 

당신이 당신이 중간에 대문자를 가지고있는 단어를 선택하고 싶지 않아요 의미합니까? –

+0

죄송합니다 - 편집 됨. 나는 시작에서 의미했다 – xhammer

답변

1

0 개 이상의 문자 (대문자 여부) 뒤에 대문자 다음에 0 개 이상의 소문자 뒤에 어떤 문자와

+0

오 세상에. 이것은 훌륭합니다. 매우 큰 크리스마스 포옹은 당신과 신의 모든 기쁨과 성공으로 가족을 축복합니다. :) 고마워요. – xhammer

1
[a-zA-Z][a-z]*[A-Z][a-zA-Z]* 

시작, 낙타 인 단어를 분할하는 경우가 있습니다. 맞습니까?

다음이 변경

ResultString = Regex.Replace(SubjectString, 
    "(?<=\p{Ll}) # Assert that the previous character is a lowercase letter" & chr(10) & _ 
    "(?=\p{Lu}) # Assert that the next character is an uppercase letter", 
    " ", RegexOptions.IgnorePatternWhitespace) 

사용

I went to a school for Education and then didn't study. 
관련 문제