正则表达式的字符、说明和其简单应用示例

字符和其含义

字符       含义

\         转义字符,将一个具有特殊功能的字符转义为一个普通的字符

^        匹配字符串的开始位置

$        匹配字符串的结束位置

*        匹配前面的0次或多次的子表达式

+        匹配前面的1次或多次的子表达式

?        匹配前面的0次多1次的子表达式

{n}       n是非负整数,匹配前面的n次子表达式

{n,}       n是非负整数,至少匹配前面的n次子表达式

{n,m}      m,n均为非负整数,其中n<=m,至少匹配n次且最多匹配m次

?        当跟在其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式尽可能少的匹配所搜索的字符串

.        匹配除"\n"之外的任何单个字符

(pattern)    匹配pattern并获取这一匹配

(?:pattern)   匹配pattern但不获取匹配结果

(?=pattern)   正向预查,在任何匹配pattern的字符串开始处匹配查找字符串

(?!pattern)   负向预查,在任何不匹配pattern的字符串开始处匹配查找字符串

x|y       匹配x或y

[xyz]      匹配包含的任意一个字符

[^xyz]       匹配未包含的任意字符

[a-z]      匹配指定范围内的任意字符

[^a-z]       匹配不在指定范围内的任意字符

\b       匹配一个单词边界,即单词和空格间的位置

\B       匹配非单词边界

\d       匹配一个数字字符,和[0-9]等价

\D       匹配一个非数字字符,和[^0-9]等价

\f        匹配一个换页符

\n       匹配一个换行符

\r       匹配一个回车符

\s       匹配任何空白字符,包括空格、制表符、换页符等

\S       匹配任何非空白字符

\t       匹配一个制表符

\v       匹配一个垂直制表符。

\w       匹配包括下划线的任何单词字符。和[a-zA-Z0-9_]等价

\W       匹配任何非单词字符。和[^a-zA-Z0-9_]等价

前台js验证,使用正则的exec方法,代码如下:

 1 <head runat="server">
 2 <title></title>
 3 <script type="text/javascript">
 4     function judge() {
 5         var text = document.getElementById("<%= TextBox1.ClientID%>").value;
 6         var patten = /^\d{8}$/;
 7         if(!patten.exec(text)) {
 8             alert("输入的不是8位数字");
 9         }
10     }
11 </script>
12 </head>
13 <body>
14 <form id="form1" runat="server">
15 <div>
16     <asp:TextBox ID="TextBox1" runat="server" MaxLength="8" onblur="judge();"></asp:TextBox>
17 </div>
18 </form>
19 </body>

后台使用正则表达式,需引入命名空间using System.Text.RegularExpressions;使用Regex的静态方法IsMatch(),代码如下:

 1 protected void Button_Click(object sender, EventArgs e)
 2 {
 3     string patten = @"^\d{8}$";
 4     Regex regex = new Regex(patten);
 5     string text = TextBox1.Text.Trim();
 6     if (!regex.IsMatch(text))
 7     {
 8         ClientScript.RegisterStartupScript(ClientScript.GetType(), "", "<script>alert(‘输入的不是8位数字‘)</script>");
 9     }
10 }
时间: 2024-07-30 22:03:42

正则表达式的字符、说明和其简单应用示例的相关文章

正则表达式的字符含义

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 3.1 普通字符 由所有那些未显式指定为元字符的

正则表达式所有字符解释

在下载平台使用中往往需要较精确的正则表达式去匹配,下面对正则表达式所有字符具体解释 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后 引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个 换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的

css限制div字符超出部分,简单有方便

1 text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical; 插入这段代码即可. css限制div字符超出部分,简单有方便,布布扣,bubuko.com

C# -- 正则表达式匹配字符之含义

原文:C# -- 正则表达式匹配字符之含义 C#正则表达式匹配字符之含义 1.正则表达式的作用:用来描述字符串的特征. 2.各个匹配字符的含义: .   :表示除\n以外的单个字符 [ ]  :表示在字符数组[]中罗列出来的字符任意取单个 |   :表示"或"的意思 ()  :表示改变优先级或"提取组" *   :限定前面的表达式出现0次或多次 +   :限定前面的表达式出现1次或多次 ?  :限定前面的表达式出现0次或1次 ^   :表示以表达式开头(例:^htt

hydra简单使用示例

本内容为网上收集整理,仅作为备忘!! hydra简单使用示例: 破解https: # hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https 破解teamspeak: # hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak 破解cisco: # hydra -P pass.txt 10.36.16.18 cisco # hydra -m cloud -P pass.txt 10.36.16.18 c

Ext简单demo示例

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <titl

Salesforce用Apex判断Role Hierarchy的简单代码示例

由于role不同于Profile,带有阶层性质,所以有一些自定义功能要依赖于这种阶层的设定.这样就涉及到role hierarchy的判断问题. 我是一个绝懒之人,所以去网上搜了一下,能找到的方案都或多或少有些缺陷 . 我所提供的方案也是如此,但是想比于浪费太多SOQL查询次数来讲,role的数量不超过50000条已经是足够好了.// 这里Update一下,其实根本不会有那么多的Role,因为默认500,向Salesforce技术支持提票才能达到10000. Talk is cheap, sho

数组的简单使用示例

/* ============================================================================ Name : TestArray.c Author : lf Version : Copyright : Your copyright notice Description : 数组的简单使用示例 =======================================================================

使用ASP.Net WebAPI构建REST-ful 服务(一)——简单的示例

由于给予REST的Web服务非常简单易用,它越来越成为企业后端服务集成的首选方法.本文这里介绍一下如何通过微软的Asp.Net WebAPI快速构建REST-ful 服务. 首先创建一个Asp.Net Web应用程序(我这里用的是Visual Studio 2013,它已经内置了Web API2). 在出来的模板中选择Empty(空项目),并勾选WebAPI.点击确定后,就创建了一个空的WebAPI服务. 此时只有一个空项目,还没有任何功能,在进行下一步之前,首先我们来看一下REST的基本操作模

tinc vpn简单配置示例扩展(一)——跨越三层网络

tinc vpn简单配置示例扩展(一)--跨越三层网络 在tinc vpn简单配置示例(http://watertoeast.blog.51cto.com/8489855/1711649)一文中,构建tinc VPN的两台机器同属一个局域网(如图一),这样的场景基本与实际应用情况不符.今天对简单示例进行扩展,使构建vpn的两台主机跨越三层网络边界(如图二). 图一 tinc vpn in lan 图二 tinc VPN跨越三层网络边界 如图二所示,PC02的IP地址变成了172.16.1.6,与