`
marine8888
  • 浏览: 545255 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android 正则表达式实例

阅读更多

editText正则表达式的使用 检查输入是否符合规则 

import Android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
/** 
* Class which shows how to validate user input with regular expression 
* 
* @author FaYnaSoft Labs 
*/ 
public class Main extends Activity { 
private EditText editText; 
private Button button; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
  editText = (EditText) findViewById(R.id.textId); 
  editText.setText("EditText element"); 
  button = (Button) findViewById(R.id.btnId); 
  button.setText("Check"); 
  button.setOnClickListener(new View.OnClickListener() { 
   @Override 
   public void onClick(View v) { 
    if(checkString(editText.getText().toString())) { 
     editText.setText("Corect"); 
    } 
   } 
  }); 
} 
/** 
  * This method checks if String is correct 
  * @param s - String which need to check 
  * @return value of matching 
  */ 
private boolean checkString(String s) { 
  return s.matches("\\w*[.](Java|cpp|class)"); 
} 
} 

 

正则表达式查找字符 

文章分类:移动开发 
String s_Result="Distance: 2.8km (about 9 mins)"; 

//Distance parsing 
Pattern p = Pattern.compile("Distance: (\\d+(\\.\\d+)?)(.*?)\\b"); 
Matcher m = p.matcher(s_Result); 
if(m.find()){ 
    MatchResult mr=m.toMatchResult(); 
    f_Distance=mr.group(1);//2.8 
    m_DistanceUnit=mr.group(3);//km 
} 

//Time parsing 
p = Pattern.compile("about (\\d+(\\.\\d+)?) (.*)\\b"); 
m = p.matcher(s_Result); 
if(m.find()){ 
    MatchResult mr=m.toMatchResult(); 
    f_timeEst=mr.group(1);//9 
    m_timeEstUnit=mr.group(3);//min 
} 
或者 
String s_Result="Distance: 2.8km (about 9 mins)"; 
Pattern p = Pattern.compile("(\\d+(\\.\\d+)?) ?(\\w+?)\\b"); 
Matcher m = p.matcher(s_Result); 
while(m.find()){ 
    MatchResult mr=m.toMatchResult(); 
    String value=mr.group(1);//2.8 and 9 come here 
    String units=mr.group(3);//km and mins come here 
} 


正则表达式以过滤特殊字符 


在网上找了好久也没找到个合适的正则表达式以过滤特殊字符;自己学习了下,写了两个,实现要求。 
Java 代码 
// 过滤特殊字符  
    public   static   String StringFilter(String   str)   throws   PatternSyntaxException   {     
                // 只允许字母和数字       
                // String   regEx  =  "[^a-zA-Z0-9]";                     
                   // 清除掉所有特殊字符  
          String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?]";  
          Pattern   p   =   Pattern.compile(regEx);     
          Matcher   m   =   p.matcher(str);     
          return   m.replaceAll("").trim();     
          }     
    @Test         
    public    void   testStringFilter()   throws   PatternSyntaxException   {     
          String   str   =   "*adCVs*34_a _09_b5*[/435^*&城池()^$$&*). {}+.|.)%%*(*.中国}34{45[]12.fd'*&999下面是中文的字符¥……{}【】。,;’“‘”?";     
          System.out.println(str);     
          System.out.println(StringFilter(str));     
          }    
// 过滤特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字 // String regEx = "[^a-zA-Z0-9]"; // 清除掉所有特殊字符 String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); return m.replaceAll("").trim(); } @Test public void testStringFilter() throws PatternSyntaxException { String str = "*adCVs*34_a _09_b5*[/435^*&城池()^$$&*).{}+.|.)%%*(*.中国}34{45[]12.fd'*&999下面是中文的字符¥……{}【】。,;’“‘”?"; System.out.println(str); System.out.println(StringFilter(str)); } 

 

分享到:
评论
1 楼 mcxiaoke 2010-11-02  
用InputFilter就可以了

android.text.InputFilter
Known Indirect Subclasses
DateKeyListener, DateTimeKeyListener, DialerKeyListener, DigitsKeyListener, InputFilter.AllCaps, InputFilter.LengthFilter, LoginFilter, LoginFilter.PasswordFilterGMail, LoginFilter.UsernameFilterGMail, LoginFilter.UsernameFilterGeneric, NumberKeyListener, TimeKeyListener

相关推荐

    FTextEditChange_正则表达式Android应用实例

    这些实例可以帮助开发者更好地理解如何在实际项目中使用正则表达式来增强用户体验和数据有效性。 总的来说,掌握正则表达式对于Android开发者来说是十分重要的,它能帮助我们在处理用户输入时提供更精确的控制,...

    Android开发中超好用的正则表达式工具类RegexUtil完整实例

    本文实例讲述了Android开发中超好用的正则表达式工具类RegexUtil。分享给大家供大家参考,具体如下: /*********************************************** * 正则表达式工具 * * @author chen.lin * @version ...

    Android常用正则表达式验证工具类(实例代码)

    在Android开发中,正则表达式常用于数据的验证,例如验证用户输入的邮箱地址、手机号码、身份证号码、银行卡号等是否符合规定的格式。本文提供的工具类`RegularUtil`包含了一系列的静态方法,这些方法利用正则表达式...

    Android 快速使用正则表达式,校验身份证号的实例

    在Android开发中,正则表达式是进行字符串匹配与验证的常用工具。本篇文档将详细介绍如何在Android平台上快速使用正则表达式来校验身份证号码,这是一个非常实际且常见的需求。我们通过提供一个校验身份证号码的实例...

    Android 手势 正则匹配图片实例代码

    本实例将介绍如何结合手势识别和正则表达式来处理图片。首先,我们需要创建一个XML布局文件来添加手势支持。下面是一个简单的例子: ```xml xmlns:android="http://schemas.android.com/apk/res/android" xmlns...

    Android PatternDemo

    在Android开发中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能通过预定义的模式匹配字符串,常用于验证用户输入的数据格式,如手机号码、邮箱地址等。`PatternDemo`就是一个演示如何在Android...

    Android relaceALL替换字符串中的反斜杠

    理解并正确使用`replaceAll`函数,以及处理反斜杠在正则表达式中的转义,对于Android开发者来说至关重要。通过这个简单的`ReplacAllDemo`项目,你可以深入学习和实践这些概念,进一步提升你的编程技能。在实际项目中...

    Android编程开发中的正则匹配操作示例

    在Android编程开发中,正则表达式是一种强大的文本处理工具,常用于字符串匹配、验证用户输入等场景。本文将通过实例来介绍如何在Android中进行正则匹配操作,特别是针对手机号码、邮箱和IP地址的验证。 1. 手机...

    Android抓取CSDN首页极客头条内容完整实例

    描述中提到的知识点包括了在Android平台使用Apache HttpClient库发起GET请求获取网页内容,利用异步请求处理确保应用的响应性,以及使用正则表达式来提取网页中的特定信息。描述还强调了正则表达式对于抓取网页数据...

    Android 表情

    本文将深入探讨如何使用`SpannableString`和正则表达式来优化Android表情的显示。 `SpannableString`是Android文本处理中的一个关键类,它允许我们在字符串的不同部分应用不同的格式,如颜色、字体大小或下划线等。...

    android验证邮箱输入是否合法

    Pattern类用于编译正则表达式,然后生成一个Pattern实例,Matcher类用于对字符串进行匹配操作。 在安卓项目中,验证邮箱是否合法的方法通常会被编写为静态方法,便于在不同的位置调用。例如本文中提到的isEmail静态...

    android 判断字符串是否是日期格式

    这个任务可以通过多种方式来实现,涉及到日期时间处理、正则表达式以及Java或Android提供的日期解析类。以下将详细介绍如何进行这项操作。 首先,我们可以使用Java的`SimpleDateFormat`类来尝试解析字符串,如果...

    Android登录注册实例

    你可以使用正则表达式来检查密码格式,如至少包含数字和字母等。对于邮箱验证,可以发送一封验证邮件,用户点击链接完成验证。 记住密码功能涉及到SharedPreferences,它是Android的一种轻量级数据存储方式。当用户...

    安卓开发-Android Form EditText 验证输入合法性的编辑框.zip.zip

    - 使用正则表达式:编写正则表达式以匹配特定格式的输入,如邮箱、日期等。 - 使用第三方库:如AndroidValidator库,简化验证逻辑,提供多种预定义验证规则。 4. 实时验证: - TextWatcher监听器:实现...

    Android代码编辑器源码

    在Android应用中实现语法高亮,通常会用到正则表达式和颜色映射。 在“Android代码编辑器源码”中,开发者可能使用了`EditText`或`TextView`作为基础组件,通过自定义视图类并覆写`onDraw()`方法来实现文本的绘制。...

Global site tag (gtag.js) - Google Analytics