正则表达式-实践篇
来源:互联网 发布:大数据魔镜免费吗 编辑:程序博客网 时间: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
总结
总结了两篇博客,算是小小的总结了一下正则表达式的定义和使用,突然感觉自己又多了一种工具.写代码就更有自信了.- 正则表达式-实践篇
- 正则表达式实践篇
- 正则表达式实践篇
- mysql正则表达式实践
- 正则表达式-实践-初稿
- iOS正则表达式最佳实践
- iOS正则表达式最佳实践
- iOS正则表达式最佳实践
- iOS正则表达式最佳实践
- 正则表达式基础与实践
- python常用正则表达式以及实践
- iOS 开发中正则表达式实践(一)
- iOS 开发中正则表达式实践(一)
- Python爬虫实践(六):正则表达式(1)
- 正则表达式-零宽断言实践
- mysql中正则表达式表及实践
- 正则表达式实践(看完就会)
- 正则表达式整理篇
- jQuery事件函数
- 快速排序的最简易实现
- 如何解决载入swirl包时出来的non-numeric argument to binary operator错误
- 非常NB的一款快捷启动软件--Merry
- 【一天一道LeetCode】#165. Compare Version Numbers
- 正则表达式-实践篇
- Spring Boot 资源加载配置
- 电子信息类课程自学路线
- HTML+CSS项目答辩遇到的问题锦集(一)——Bootstrap最基本最简单的模板
- 阅读小结Deep Metric Learning via Lifted Structured Feature Embedding
- java版的二叉树(面向对象思想)
- MySQL5.6 二进制安装
- HDU1394 Minimum Inversion Number
- 小明家的果树