正则表达式-实践篇

来源:互联网 发布:大数据魔镜免费吗 编辑:程序博客网 时间:2024/05/18 22:17

上篇文章简单的总结了正则表达式的一些基本规则,有了这些规则我们可以写出简单的正则表达式.但是有了这些我们还要知道如何在JS,C#,java中使用正则表达式来进行字符串的匹配。下面就简单的总结一下如何使用正则表达式。

 JavaScirpt

(1)定义

      在JS中定义正则表达式有两种方法,使用构造函数和使用直接字面量(两个斜杠)来表示.

      构造函数: var re =new RegExp(“code”);

      直接字面量: var re=/code/;

 (2)检索

      定义好后我们就可以去检索我们的想要检索的字符串了,下面来定义个要被检索的字符串

                     var text=”please show me the code”

                     Var result=re.test(text);//返回true,false

                      Var result=re.exce(text);返回匹配的字符

在正则表达式的使用中也可以用compile来改变正则表达式的值

比如

         patt=/man/g;

        str2=str.replace(patt,"person");

        patt=/(wo)?man/g;

       patt.compile(patt);

       str2=str.replace(patt,"person");



C#

在C#中使用正则表达式主要是通过Regex类来实现。命名空间:using System.Text.RegularExpressions。

其中常用方法:

 

 

同样需要先定义一个正则表达式,在C#中使用字符串就好了,例如:

         String RegexStr ="^[0-9]+$";//判断是否为数字

        Regex.IsMatch("123",RegexStr);//返回的结果为true.

 


Java

  Pattern类

  pattern对象是一个正则表达式的编译表示。Pattern类没有公共构造方法。要创建一个Pattern对象,你必须首先调用其公共静态编译方法,它返回一个Pattern对象。该方法接受一个正则表达式作为它的第一个参数。

Matcher类:

Matcher对象是对输入字符串进行解释和匹配操作的引擎。与Pattern类一样,Matcher也没有公共构造方法。你需要调用Pattern对象的matcher方法来获得一个Matcher对象。

import java.util.regex.Matcher;   import java.util.regex.Pattern;public class RegexMatches{    public static void main( String args[] ){      // 按指定模式在字符串查找      String line = "This order was placed for QT3000! OK?";      String pattern = "(.*)(\\d+)(.*)";      // 创建 Pattern 对象      Pattern r = Pattern.compile(pattern);      // 现在创建 matcher 对象      Matcher m = r.matcher(line);      if (m.find( )) {         System.out.println("Found value: " + m.group(0) );         System.out.println("Found value: " + m.group(1) );         System.out.println("Found value: " + m.group(2) );      } else {         System.out.println("NO MATCH");      }   }}//代码来自http://www.runoob.com/java/java-regular-expressions.html

总结 

                 总结了两篇博客,算是小小的总结了一下正则表达式的定义和使用,突然感觉自己又多了一种工具.写代码就更有自信了.
1 0
原创粉丝点击