2012-06-15 29 views
0

我想要一個正則表達式來突出顯示短信中的文本(下劃線),比如Android手機中的默認短信應用。
我已經測試了一段匹配情況:在短信中突出顯示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
我試圖在Android操作系統源代碼的搜索,但它並沒有幫助。我怎麼才能得到它?

回答

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

線性佈局。但我想得到正則表達式,而不是一個Android配置。我從你的建議中找到了這個:http://stackoverflow.com/a/4363041/719212。這是我想要的。你能給我另一個嗎? – R4j

相關問題