正则表达式-实践篇
2016-07-10 22:29
363 查看
上篇文章简单的总结了正则表达式的一些基本规则,有了这些规则我们可以写出简单的正则表达式.但是有了这些我们还要知道如何在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
总结
总结了两篇博客,算是小小的总结了一下正则表达式的定义和使用,突然感觉自己又多了一种工具.写代码就更有自信了.
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
总结
总结了两篇博客,算是小小的总结了一下正则表达式的定义和使用,突然感觉自己又多了一种工具.写代码就更有自信了.
相关文章推荐
- R-FCN: Object Detection via Region-based Fully Convolutional Networks
- 【Eclipse Maven】eclipse maven插件安装和配置(一)
- win10下iis部署asp.net core rtm
- 快速排序的最简易实现
- 如何解决载入swirl包时出来的non-numeric argument to binary operator错误
- python 中 深拷贝和浅拷贝的理解
- 【一天一道LeetCode】#165. Compare Version Numbers
- 【一天一道LeetCode】#165. Compare Version Numbers.md
- jQuery事件函数
- MYsql-3
- 条款02:尽量以const,enum,inline替换#define
- Spring对JPA提供的支持
- 全国大学生信息安全竞赛writeup--珍贵资料(reverse200)
- python面向对象进阶
- BFS专题
- 简易线程池Thread Pool
- Find the Celebrity
- 1042. Shuffling Machine (20)
- 解决mysql无法远程登录的问题
- 为什么出现Wide character in print at a14.pl line 41