0

正規表現で、Android携帯のデフォルトのSMSアプリのようにSMSのテキスト(下線)を強調表示したい。
私はいくつかの一致したケースについてテストしました:

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

テキストを強調表示
Android OSのソースコードで検索してみましたが、役に立ちませんでした。どうすれば入手できますか?

4

2 に答える 2

3

あなたの番号、ウェブアドレス、または電子メールを表示している を使用android:autoLink="web|phone|email"したことがありますか? TextViewしかし、日付については、正規表現を実装したいかもしれません!

于 2012-06-15T06:28:24.657 に答える
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>

-Eメール:

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}" + ")+";
于 2012-06-15T07:55:36.623 に答える