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)); }
分享到:
相关推荐
这些实例可以帮助开发者更好地理解如何在实际项目中使用正则表达式来增强用户体验和数据有效性。 总的来说,掌握正则表达式对于Android开发者来说是十分重要的,它能帮助我们在处理用户输入时提供更精确的控制,...
本文实例讲述了Android开发中超好用的正则表达式工具类RegexUtil。分享给大家供大家参考,具体如下: /*********************************************** * 正则表达式工具 * * @author chen.lin * @version ...
在Android开发中,正则表达式常用于数据的验证,例如验证用户输入的邮箱地址、手机号码、身份证号码、银行卡号等是否符合规定的格式。本文提供的工具类`RegularUtil`包含了一系列的静态方法,这些方法利用正则表达式...
在Android开发中,正则表达式是进行字符串匹配与验证的常用工具。本篇文档将详细介绍如何在Android平台上快速使用正则表达式来校验身份证号码,这是一个非常实际且常见的需求。我们通过提供一个校验身份证号码的实例...
本实例将介绍如何结合手势识别和正则表达式来处理图片。首先,我们需要创建一个XML布局文件来添加手势支持。下面是一个简单的例子: ```xml xmlns:android="http://schemas.android.com/apk/res/android" xmlns...
在Android开发中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能通过预定义的模式匹配字符串,常用于验证用户输入的数据格式,如手机号码、邮箱地址等。`PatternDemo`就是一个演示如何在Android...
理解并正确使用`replaceAll`函数,以及处理反斜杠在正则表达式中的转义,对于Android开发者来说至关重要。通过这个简单的`ReplacAllDemo`项目,你可以深入学习和实践这些概念,进一步提升你的编程技能。在实际项目中...
在Android编程开发中,正则表达式是一种强大的文本处理工具,常用于字符串匹配、验证用户输入等场景。本文将通过实例来介绍如何在Android中进行正则匹配操作,特别是针对手机号码、邮箱和IP地址的验证。 1. 手机...
描述中提到的知识点包括了在Android平台使用Apache HttpClient库发起GET请求获取网页内容,利用异步请求处理确保应用的响应性,以及使用正则表达式来提取网页中的特定信息。描述还强调了正则表达式对于抓取网页数据...
本文将深入探讨如何使用`SpannableString`和正则表达式来优化Android表情的显示。 `SpannableString`是Android文本处理中的一个关键类,它允许我们在字符串的不同部分应用不同的格式,如颜色、字体大小或下划线等。...
Pattern类用于编译正则表达式,然后生成一个Pattern实例,Matcher类用于对字符串进行匹配操作。 在安卓项目中,验证邮箱是否合法的方法通常会被编写为静态方法,便于在不同的位置调用。例如本文中提到的isEmail静态...
这个任务可以通过多种方式来实现,涉及到日期时间处理、正则表达式以及Java或Android提供的日期解析类。以下将详细介绍如何进行这项操作。 首先,我们可以使用Java的`SimpleDateFormat`类来尝试解析字符串,如果...
你可以使用正则表达式来检查密码格式,如至少包含数字和字母等。对于邮箱验证,可以发送一封验证邮件,用户点击链接完成验证。 记住密码功能涉及到SharedPreferences,它是Android的一种轻量级数据存储方式。当用户...
- 使用正则表达式:编写正则表达式以匹配特定格式的输入,如邮箱、日期等。 - 使用第三方库:如AndroidValidator库,简化验证逻辑,提供多种预定义验证规则。 4. 实时验证: - TextWatcher监听器:实现...
在Android应用中实现语法高亮,通常会用到正则表达式和颜色映射。 在“Android代码编辑器源码”中,开发者可能使用了`EditText`或`TextView`作为基础组件,通过自定义视图类并覆写`onDraw()`方法来实现文本的绘制。...