2012-06-15 3 views
0

안드로이드 폰의 기본 SMS 앱과 같이 SMS에서 텍스트 (밑줄)를 강조 표시하는 정규 표현식을 원합니다.정규 표현식으로 sms android의 텍스트 강조 표시

Number: 06464, +86786, +84 879, ff765756765thw  /*more than 5 digits */ 
    Web address: abc.com, http://google.com 
    Email address: [email protected] 
    Date: 2012.12.02 

highlight text
내가 안드로이드 OS 소스 코드에서 검색을 시도했지만 도움이되지 않았다 :
이 좀 일치하는 경우에 테스트했습니다. 그것을 어떻게 얻을 수 있습니까?

답변

0

감사합니다, 나는 예를 들어 Pattern.java
에 모든 것을 발견
- 전화 :

public static final String PHONE = 
// sdd = space, dot, or dash 
"(\\+[0-9]+[\\- \\.]*)?" // +<digits><sdd>* 
     + "(\\([0-9]+\\)[\\- \\.]*)?" // (<digits>)<sdd>* 
     + "([0-9][0-9\\- \\.][0-9\\- \\.]+[0-9])"; // <digit><digit|sdd>+<digit> 

- 이메일 :

public static final String EMAIL_ADDRESS = "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" 
     + "\\@" 
     + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" 
     + "(" 
     + "\\." 
     + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+"; 
3

TextView에 숫자 또는 웹 주소 또는 이메일이 표시되어있는 android:autoLink="web|phone|email"을 사용하셨습니까? 하지만 날짜에 당신은 정규식을 구현할 수 있습니다! 힌트를 기반으로 사나에

+0

문제는 내가 원하는입니다 내 응용 프로그램이 TextView처럼 캔버스를 사용하기 때문에 정규식을 얻으십시오. – R4j

+0

사용할 레이아웃은 무엇입니까? – Sana

+0

선형 레이아웃. 하지만 난 안드로이드 구성 안 정규식을 갖고 싶다. 나는 당신의 충고에서 이것을 발견했다 : http://stackoverflow.com/a/4363041/719212. 그것이 내가 원하는 것입니다. 너는 나에게 다른 것을 줄 수 있니? – R4j

관련 문제