2013-11-27 4 views
-3

문자열에 문제가 있습니다. 나는 그것이 무엇이 잘못되었는지를 모른다. RTB에서 색상을 변경하고 싶습니다. 내 RTB에 "accesskey ="또는 "data-blablabla-blabla ="(따옴표 제외)를 입력하면 코드의 색상이 여전히 검정색입니다.정규 표현식이 작동하지 않는 것 같습니다.

내 코드 :

private void richTextBox1_TextChanged(object sender, EventArgs e) 
{ 
    string attributes = @"\b(accesskey=|\data\-.+?\=)\b"; 
    MatchCollection attributeMatches = Regex.Matches(richTextBox1.Text, attributes); 

    foreach (Match m in attributeMatches) 
    { 
     richTextBox1.SelectionStart = m.Index; 
     richTextBox1.SelectionLength = m.Length; 
     richTextBox1.SelectionColor = Color.Red; 
    } 
+0

\s가 디버깅을 시도 해 봤나 사용할 수 있습니까? – BartoszKP

+0

문자열과 어떻게 관련이 있습니까? 어쩌면 정규식 제목이 귀하의 질문에 더 잘 맞을 것입니다 –

+0

정규식이 무엇이라도 일치합니까? –

답변

2

Regular Expression Language Quick Reference\b에 따르면 내가 심각하게 당신의 텍스트에서 찾을 수 있습니다 의심 백 스페이스 문자입니다. 결과적으로 정규식은 절대 일치하지 않습니다.

당신이 공백에 대해 일치 할 경우

+0

답장을 보내 주셔서 감사합니다.하지만 선생님은 작동하지 않습니다. 문자열에서 등호를 제거하려고하면 모든 것이 잘 작동합니다. 그래서 내 문자열에 문제가 있다고 생각하거나 \을 추가해야하는 이유가 무엇입니까? – Hafiz

+0

감사합니다 Panagiotis Kanavos! 링크 한 페이지를 읽으십시오. 문제는 당신이 말한 것과 같습니다. – Hafiz

관련 문제