java使用正则表达式验证交互程序接收的字符串格式
java使用正则表达式有一个非常简单的方式,字符串类String有个方法matches(String regex),Pattern类里边也有一个matches
(String regex,
CharSequence input)
可以直接验证字符串是否能够匹配作为参数给定的正则表达式,这里的CharSequence是String/StringBuffer/StringBuilder/CharBuffer所实现的借口,所以可以直接传入String或者StringBuffer.
正则表达式是搜索、替换和解析复杂字符模式的一种强大而标准的方法。字符串也有很多方法,可以进行搜索
(index
、
find
和
count
)、替换
(replace
)
和解析
(split
),但它们仅限于处理最简单的情况。搜索方法查找单个和固定编码的子串,并且它们总是大小写敏感的。对一个字符串
s
,如果要进行大小写不敏感的搜索,则你必须调用
s.lower()
或
s.upper()
将
s
转换成全小写或者全大写,然后确保搜索串有着相匹配的大小写。
replace
和
split
方法有着类似的限制。如果你要解决的问题利用字符串函数能够完成,你应该使用它们。它们快速、简单且容易阅读,而快速、简单、可读性强的代码可以说出很多好处。但是,如果你发现你使用了许多不同的字符串函数和
if
语句来处理一个特殊情况,或者你组合使用了
split
、
join
等函数而导致用一种奇怪的甚至读不下去的方式理解列表,此时,你也许需要转到正则表达式了。[1]
正则表达式特殊标记:
^指定必须从字符串开头,
$指定字符串尾部必须匹配,
?指定该符号之前的一个匹配符号是可选匹配.
{l,m}指定花括号之前一个匹配符号可以重复匹配至少l次,最多m次,
+指定该符号之前的匹配符号可以匹配1次或者多次,
*指定该符号之前的匹配符号可以匹配0次或者多次.
例如:
我刚刚写了一个程序用来帮助网络游戏登录时候密码保护卡的使用,基本使用流程是这样子的:每次等率游戏的时候在点击自己的角色之后会弹出一个提示框,上边显示三个坐标,如:[G,12][B,4][A,9].当然密码保护卡是之前自己绑定在游戏帐号上边的.
这个程序运行框有一个文本输入框可以输入坐标,坐标使用三个坐标的连写并且没有空格,这当然是我在使用的时候不想点击空格键造成的,我觉得笔记本的空格键是最不好用的一个键,我的大拇指总是被键盘后便的板子托住造成空格键输入失败.不好意思,说歪了话题.事实上很简单,如上边的这个坐标你就只需要输入'g12b4a9',大小写无所谓.
因为密码保护卡有7行12列,也就是([a-g]*1-12),这个时候要验证我有没有输入正确的坐标就会写成这样的一个表达式"^([a-g]([1-9]|(1?[0-2]))){3}$",^$分别表示匹配开始和结尾,{3}表示必须匹配三次,[a-g]匹配字母a-g的其中一个,[1-9]|(1?[0-2])匹配1-12个数字.
程序如下:
String regex = "^([a-g]([1-9]|(1?[0-2]))){3}$",grid = "G12B4A9";
boolean isGridAvailable grid.toLowerCase().matches(regex);
[1],本段摘自Drive Into Python中文版第七章
分享到:
相关推荐
在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...
通过使用特殊的字符和语法,正则表达式能够高效地定位符合特定模式的字符串。例如,我们可以用正则表达式来验证电子邮件地址的格式,查找所有的电话号码,或者替换文档中的特定文本。正则表达式工具通常包含一个交互...
正则表达式是处理文本的强大工具,常用于字符串匹配、查找、替换等操作。在编程中,正则表达式可以用来验证用户输入、提取信息或者进行数据清洗。正则表达式的语法丰富,如`.`代表任意字符,`*`表示前面的字符可以...
- **验证**:类中可能会有一个静态方法如`isValid(String input, String regex)`,接收输入字符串和正则表达式,返回是否匹配的结果。 - **替换**:可能提供`replace(String input, String regex, String ...
在Java中,正则表达式与网络编程结合,可以实现复杂的字符串验证,同时在网络通信中,Socket编程提供了基础的交互手段,通过TCP或UDP实现数据的可靠或快速传输。理解并熟练掌握这些概念对于开发涉及文本处理和网络...
正则表达式在文本框输入限制中的应用是前端开发中一个重要的知识点,它能够...通过上述代码示例的学习,开发者可以更好地理解如何利用正则表达式进行输入验证和格式控制,进一步提升网页表单的交互质量和数据处理能力。
在了解JavaScript正则表达式验证身份证号码是否合法前,我们首先需要了解身份证号码的基本构成。中国大陆的身份证号码,也就是公民身份号码,由18位数字组成。前六位是地址码,接下来的八位是出生日期码,然后是三位...
正则表达式可以用于验证输入、查找、替换和提取字符串中的模式。以下是一些常见的正则表达式模式: 1. **邮箱验证**:`/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/` 2. **电话号码验证**:根据不同的格式...
1. **正则表达式**:正则表达式是用于处理字符串的强大工具,它允许开发者通过模式匹配来查找、替换或分割文本。在编程辅助工具中,正则表达式常用于数据验证、文本提取或数据清洗。 2. **HTTP抓包**:HTTP抓包是...
值得注意的是,正则表达式虽然强大,但通常不推荐用于验证邮箱地址的有效性,因为电子邮件地址的有效性还涉及到域名是否真实存在、服务器是否可以接收邮件等复杂问题。邮箱地址的验证更推荐使用服务器端的邮件验证...
1. **正则表达式**:正则表达式(Regular Expression)是一种强大的文本处理工具,可以用来匹配、查找、替换和分割字符串。在这个项目中,正则表达式被用于验证URL和电子邮件地址的格式是否正确。 2. **URL验证**:...
在JavaScript和Java中,正则表达式都能用于字符串操作,提高代码的灵活性和效率。 5. **MySQL**:MySQL是一款关系型数据库管理系统,适用于中小型企业级应用。它支持SQL语言,提供高效的数据存储和检索,是许多Web...
在程序设计中,我们首先要定义一个名为`fileRex`的函数,该函数接收两个参数:`inputStr`(用户提供的正则表达式)和`txtLines`(文件中的文本行列表)。函数内部,我们将`inputStr`编译为正则表达式对象,并使用`re...
正则表达式是一种强大的字符串匹配工具,能够匹配指定的字符和模式,从而判断字符串是否符合特定的格式要求。 本文档提供了几个在ASP(Active Server Pages,一种服务器端脚本环境)环境下,使用正则表达式进行邮箱...
正则表达式是一种强大的文本处理工具,它可以用来匹配、查找、替换和验证字符串模式。在表单验证中,正则表达式常用来检查输入是否符合特定格式,例如邮箱地址、电话号码、日期或密码强度等。 JavaScript中的表单...
正则表达式验证** 正则表达式是一种强大的文本模式匹配工具,用于验证用户输入的数据格式。在JavaScript中,我们可以使用`test()`方法来检查字符串是否符合特定的正则表达式模式。 - 用户名验证: ```javascript ...
// 正则表达式验证规则 $usernameRegex = '/^[a-zA-Z0-9]+$/'; $passwordRegex = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/'; if (preg_match($usernameRegex, $username) && preg_match($...
**Asp.Net数据验证**提供了多种内置验证控件,如RequiredFieldValidator(必填字段验证)、RegularExpressionValidator(正则表达式验证)、CompareValidator(比较验证)等,这些控件可以直接在网页上使用,简化了...
本文将详细讲解如何从一个控制台应用程序(源程序)启动另一个控制台应用程序(目标程序),并传递参数字符串,以及如何在目标程序中使用正则表达式解析这些参数。 首先,让我们理解如何在C#中启动另一个EXE程序。...