`

正则表达式

 
阅读更多

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

 定义和使用

var patt1 = newRegExp("hello");

var patt2 = /world/ ;

test方法

test() 方法检索字符串中的指定值。返回值是 true false

var pat = /my/;

var str = "this is my code...";

console.log(pat.test(str)); // true

exec方法

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null

var pat = /hello/;

console.log(pat.exec("oh hello world")); //返还hello

正则表达式类型

/pattern/attributes

参数 attributes 是一个可选的字符串,常用属性 "g""i" ,分别用于指定全局匹配、区分大小写的匹配。

//不区分大小写

var str = "Visit Hunger";

var patt1 = /hunger/i;

console.log(str.match(patt1));  //全局匹配

var str="hello hunger valley! I am hunger"; var patt1=/hunger/g; console.log(str.match(patt1));  //不区分大小写,全局匹配var str="hello Hunger valley! I am hunger"; var patt1=/hunger/gi; console.log(str.match(patt1));

字符串正则

1. search

字符串查找

var str="Visit W3School!";

console.log(str.search(/w3school/)); //-1console.log(str.serach(/w3school/i)); // 6

2. match

字符串匹配

var str="1 plus 2 equal 33";

console.log(str.match(/\d+/));   //[1]

console.log(str.match(/\d+/g));  //[1,2,33]

3. replace

字符串替换

var str="Hello JI! oh I am hunger"

console.log(str.replace(/Hunger/, "valley")); console.log(str.replace(/hunger/ig, "hunger"));

4. split

字符串分割

var str = "Hello Hunger   , oh I am Hunger";

str.split("");

str.split(/\s+/);

正则写法

<!--[if !supportLists]-->·         <!--[endif]-->[abc] 查找方括的任何字符

var str="Is this all there is?";

var patt1=/[a-h]/g;

 console.log(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->[^abc] 查找任何不在方括的字符

var str="hello jikexueyuan!";

var patt1=/[^jike]/g;

console.log(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->[0-9] 查找任何 0 9

<!--[if !supportLists]-->·         <!--[endif]-->[a-z] 查找任何 a 到小 z 的字符

<!--[if !supportLists]-->·         <!--[endif]-->[A-Z] 查找任何 A 到大 Z 的字符

<!--[if !supportLists]-->·         <!--[endif]-->[A-z] 查找任何 A 到小 z 的字符

<!--[if !supportLists]-->·         <!--[endif]-->[adgk] 查找定集合的任何字符

<!--[if !supportLists]-->·         <!--[endif]-->[^adgk] 查找定集合外的任何字符

<!--[if !supportLists]-->·         <!--[endif]-->red|blue|green 查找任何指定的选项

var str="hello hunger! How are you?";

var patt1=/hello|you/g; c

onsole.log(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->. 查找单个字符,除了行和行束符

var str="That's hot!";

var patt1=/h.t/g;

document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\w 查找单词字符(字母、字、下划线)

var str="Give 100%!";

 var patt1=/\w/g;

document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\W 查找非单词字符

var str="Give 100%!"var patt1=/\W/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\d 查找

var str="Give 100%!"

var patt1=/\d/g;

document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\D 查找非字字符

var str="Give 100%!"var patt1=/\D/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\s 查找空白字符(空格、tab行、回)

var str="Is this all there is?";

  var patt1=/\s/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\S 查找非空白字符

var str="Is this all there is?"var patt1=/\S/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\b 匹配单词边

/\bm/ 匹配"moon"中的'm'

/oo\b/ 不匹配"moon"中的'oo',因为'oo'后面的'n'是一个单词字符;

 /oon\b/ 匹配"moon"中的'oon',因为'oon'位于字符串的末端,后面没有单词字符;  var str="Hello jikexueyuan"

var patt1=/\bjikexueyuan/g;

document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->\B 匹配非单词边

<!--[if !supportLists]-->·         <!--[endif]-->\n 查找行符

var str="Hello Hunger.\n be a FE."

var patt1=/\n/g; document.write(str.search(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->n+ 匹配任何包含至少一 n 的字符串

var str="Hello HHunger! Hello World!"

var patt1=/H+/g;

document.write(str.match(patt1)); 

var str="Hello Hunger! Hello World!";

 var patt1=/\w+/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->n* 匹配任何包含零或多 n 的字符串

var str="Hellooo Hunger! Hello World!"var patt1=/lo*/g; document.write(str.match(patt1))

<!--[if !supportLists]-->·         <!--[endif]-->n? 匹配任何包含零或一 n 的字符串

var str="1, 100 or 1000?"var patt1=/10?/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->n{X} 匹配包含 X n 的序列的字符串

var str="100, 1000 or 10000?"; var patt1=/\d{4}/gdocument.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->n{X,Y} 匹配包含 X Y n 的序列的字符串

var str="100, 1000 or 10000?"; var patt1=/\d{3,4}/gdocument.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->n{X,} 匹配包含至少 X n 的序列的字符串

var str="100, 1000 or 10000?"; var patt1=/\d{3,}/gdocument.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->n$ 匹配任何 n 的字符串

var str="Is this his"; var patt1=/is$/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->^n 匹配任何开头为 n 的字符串

var str="Is this his"; var patt1=/^Is/g; document.write(str.match(patt1));

<!--[if !supportLists]-->·         <!--[endif]-->字: [\u4e00-\u9fa5]

<!--[if !supportLists]-->·         <!--[endif]-->手机号 1[0-9]{10}

<!--[if !supportLists]-->·         <!--[endif]-->邮箱 (\S)+[@]{1}(\S)+[.]{1}(\w)+

分享到:
评论

相关推荐

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

    正则表达式转换工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...

    PB实现的正则表达式

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...

    易语言正则表达式文本替换

    例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...

    C语言正则表达式库

    C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

    Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...

    易语言正则表达式匹配中文

    在易语言中,正则表达式是进行文本处理、数据提取和搜索的关键工具,尤其在处理中文字符时显得尤为重要。本文将深入探讨易语言中的正则表达式匹配中文的原理、方法以及应用。 正则表达式(Regular Expression)是一...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...

    VC、VC++,MFC 正则表达式类库

    正则表达式类库则为VC++和MFC的开发者提供了对正则表达式功能的支持。 "VC、VC++,MFC 正则表达式类库"指的是在MFC中实现或集成的正则表达式处理模块。这个库通常包含一系列的类和函数,允许程序员编写符合特定模式...

    易语言正则表达式类匹配中文

    在易语言中,正则表达式类是一个非常重要的工具,用于处理字符串的模式匹配和查找。在处理中文文本时,这个功能尤为关键,因为中文字符的编码和处理方式与英文有所不同。 正则表达式是用于匹配字符串模式的一种强大...

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...

    c++写的正则表达式验证工具

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。C++作为一种通用编程语言,虽然标准库中没有内置正则表达式支持,但通过第三方库如Boost,我们可以很方便地在...

    通过正则表达式生成数据

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串的模式匹配。在本主题中,我们将深入探讨如何使用正则表达式来生成满足特定条件的随机数据。这在...

    C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....

    C# 正则表达式大全 正则表达式是指用来描述字符串模式的表达式,通过使用正则表达式,我们可以轻松地实现字符串的匹配、验证、提取和替换等操作。在 C# 中,我们可以使用 System.Text.RegularExpressions 命名空间...

    C正则表达式库

    在IT领域,正则表达式库是用于处理字符串匹配、搜索和替换的重要工具。在C语言环境中,GUN(GNU)提供了一个官方的正则表达式库,这使得C程序员可以方便地在他们的应用程序中利用正则表达式的强大功能。本篇文章将...

    易语言正则表达式取网址和名称

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在本案例中,“易语言正则表达式取网址和名称”指的是使用易语言这一编程环境,结合正则表达式技术来从文本中...

    正则表达式 必知必会 pdf

    正则表达式作为一种文本处理工具,在计算机编程和数据处理领域中扮演着极其重要的角色。它不仅适用于几乎所有编程语言和计算机平台,而且能够执行复杂的文本搜索、匹配、替换和提取操作。正则表达式的核心是通过定义...

    根据正则表达式生成满足正则的数据

    在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配字符串模式。它们广泛应用于数据验证、搜索、替换等操作。本话题主要关注如何根据正则表达式生成满足该模式的数据,这在测试、数据...

    正则表达式翻译工具,RegexTest.exe

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,用于匹配、查找、替换或提取特定模式的字符串。RegexTest.exe 是一个专门用于测试和解析正则表达式的应用程序,它可以帮助用户理解和调试...

Global site tag (gtag.js) - Google Analytics