<!doctype html>
<html>
<head><meta>
<title>Regex--正则简单demo</title>
</head>
<body>
</body>
<script>
/*
* demo1:
*“\1”指与第一个()内的内容相同;
*/
var a= /^<(\w+)\s*\/?>(?:<\/\1>)?$/ ;
b1 = a.exec("<body>");
b2 = a.exec("<br/>");
b3 = a.exec("<div></div>");
alert(b1);
alert(b2);
alert(b3);
/*
* demo2:
*jquery源码中出现的正则的解读;
*/
core_pnum = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source; //核心语句,.source获得正则的表达式;
rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" );
rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ); //数字后不可直接跟‘px’;
rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" );
rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" )
//测试语句开始
var n = "123dsga";
alert(rnumsplit.exec(n));
var m = "123pp";
alert(rnumnonpx.exec(m));
var a = "+=11.111";
alert(rrelNum.exec(a));
var b = "-=100%"; // b="100abc";
alert(rfxnum.exec(b));
/*
* demo3:
*jquery源码中出现的正则的解读;
*/
//去除两边的空格;
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
var a=" ad cd ";
//alert('x'+a.replace(rtrim,'')+'x');
//alert('x'+a+'x');
/*
* demo4:
*jquery源码中出现的正则的解读;
*/
// JSON RegExp
rvalidchars = /^[\],:{}\s]*$/;
rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g;
rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g;
rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g; //"[^"\\\r\n]*" =>这部分不清楚;
//测试语句开始
var b = "\,:{}";
alert(rvalidchars.exec(b));
var c = "[add], [asdg]";
alert(rvalidbraces.exec(c));
var d='\\b'; //d='\\\/'; //d = "\\ua1aa";
alert(rvalidescape.exec(d));
var e='"n"'; //e='false'; //e ='1.1e-11';
alert(rvalidtokens.exec(e));
匹配正数,正整数或正的浮点数(发票):
regExp:"^[1-9]\\d*.?\\d*$|^0.\\d*[1-9]\\d*$";
匹配正数,正整数或正的浮点数,保留两位小数(发票):
regExp:"^[1-9]\\d*(.\\d{1,2})?$|^0.(\\d){1,2}$";
匹配人名,chen/yi 或chen/yi lili (机票)
regExp:"^[a-zA-Z]+[\\/]([a-zA-Z])+([\\s]+[a-zA-Z]+)?$";
//未完,待续……
</script>
</html>
相关推荐
这个类提供了构造、匹配和替换等方法,使我们在C++代码中操作正则表达式变得简单。 接下来,我们探讨如何在lineEdit中应用正则表达式。Qt的lineEdit组件是用于接收用户单行文本输入的控件。通常,我们可以通过重载...
Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...
C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...
Boost库的正则表达式组件,即`boost::regex`,是C++实现正则表达式的常用选择之一,它提供了一套完整的API接口,使得在C++中编写正则表达式相关的代码变得相对简单。 在Visual Studio 2008环境下,开发者可以将...
正则表达式通常简称为“regex”或“regexp”,可以表示一系列简单的到复杂的字符模式。 正则表达式的转换通常涉及到将其转化为一种计算模型,以便更方便地进行匹配操作。其中,非确定性有限自动机(NFA,Non-...
正则表达式不仅用于简单的查找和替换,还能在数据验证(如电子邮件地址或电话号码格式检查)、文本分析、网页抓取等场景中发挥巨大作用。通过学习《精通正则表达式》,读者将能够编写更高效、更精确的正则表达式,...
如果只考虑数字表示,正则表达式可以相对简单。但如果要包含英文月份,那么表达式会更复杂。 对于数字表示的月份,正则表达式可以这样编写: ```regex ^(0?[1-9]|1[0-2])$ ``` 这个正则表达式的含义如下: - `^` ...
以下是一个简单的易语言代码示例,展示了如何使用正则表达式来提取网址: ```易语言 .声明部分 .局部变量 正则表达式对象, 文本型 .局部变量 匹配结果, 结构体(正则表达式匹配) .局部变量 目标文本, 文本型 = ...
因此,一个简单的匹配所有中文字符的正则表达式可以写作`\u4e00-\u9fff`。这个表达式告诉易语言,我们要查找的模式是任何在这个范围内的Unicode字符。 然而,易语言可能不直接支持Unicode转义字符`\u`,在这种情况...
在编程世界中,三目运算符和正则表达式是两个非常重要的概念,它们各自扮演着独特的角色,同时也常被结合起来使用,以提高代码的简洁性和效率。让我们深入探讨这两个主题。 首先,三目运算符,也称为条件运算符,是...
本文将对正则表达式的基础知识进行详细的介绍,从什么是正则表达式开始,逐步深入浅出地讲解正则表达式的基本概念、正则表达式引擎、文字符号、特殊字符、不可显示字符、正则表达式引擎的内部工作机制等。...
1. 正则表达式基础:介绍正则表达式的基本概念、构成元素,以及如何编写简单正则表达式进行基本的文本匹配。 2. 元字符和模式:深入讲解各种元字符的用法和它们在构建复杂模式时的组合方式,包括字符类、量词、边界...
在IT领域,文本处理是日常工作中不可或缺的一部分,而grep、sed、awk和perl这四个工具在处理文本时都广泛地使用了正则表达式。它们各自有着不同的特性和适用场景,理解它们之间的差异有助于我们更高效地进行文本操作...
在Java编程语言中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。本节我们将深入探讨正则表达式工具类`RegUtils`,它封装了正则表达式的常用功能,便于在实际开发中进行复用。 首先,`...
在Java编程语言中,处理字符串和正则表达式是一项常见的任务。正则表达式是一种强大的文本模式匹配工具,可以用于搜索、替换或者提取符合特定规则的字符串。在本篇文章中,我们将深入探讨如何利用Java中的Xeger和...
总之,TPerlRegEx组件为Delphi 2010开发者提供了强大而灵活的正则表达式支持,无论是简单的文本查找还是复杂的字符串处理,都可以借助这个组件高效地完成。通过理解其核心概念、属性和方法,开发者可以熟练掌握这一...
在探讨如何利用正则表达式来判断一个字符串除指定字符外不包含其他特殊字符之前,我们首先需要了解正则表达式的基本概念以及本场景中的具体需求。 ### 正则表达式简介 正则表达式是一种强大的文本处理工具,能够...
无论是简单的数据验证,还是复杂的文本挖掘任务,正则表达式都是一个不可或缺的工具。对于文件爬虫和网络爬虫来说,它是获取和处理信息的关键所在。在实际项目中,结合编程语言的特性,正则表达式能帮助我们构建出更...