几种不同语言中正则表达式的具体使用方式

3 篇文章 0 订阅
2 篇文章 0 订阅

首先说明一点,正则表达式是匹配机制,它所确定的是一种字符串的模式,即匹配的是一类字符串,当然这一类字符串也可以是只包含仅仅一种字符串的一类。它可以实现包含(子串)、以xx开头,以xx结尾等等模式的匹配。

1.java

在java中,要引用java.util.regex包。
通常在面向对象语言是,会写一个通用类,用来检测不同类型的字符串,方便重用。

import java.util.regex.*;
class RegexTest{

  //本例中表达的是判断content是否是以Khufu开头的字符串
   public static void main(String args[]){
   
   //待匹配的字符串content
      String content = "Khufu is my lover";
      
   //你所需要的匹配模式pattern
      String pattern = "^Khufu.*";
      
  //通过布尔isMatch值知道模式和内容是否匹配
      boolean isMatch = Pattern.matches(pattern, content);
      
  //下面根据isMatch值来进行你想要的操作
  ……
  ……
  ……
   }
}

2.PHP

在PHP中使用的是preg_match(String $pattern,String $content )方法检查匹配。

//本例和Java例子类似,要注意的是Java和PHP都是模式在前,待匹配内容在后
<?php
$content = "KHUFU is my lover";
$pattern = "^KHUFU.*";
$isMatch = preg_match($pattern,$content);

//isMatch是布尔值,如果匹配则返回true,否则返回false,利用isMatch进行后续操作
……
……
……
?>

3.Javascript

在JavaScript中,可以通过RegExp对象的test()方法来知道模式和内容是否匹配

<script>
//和上面的例子类似
var pattern=new RegExp("Khufu");
var content = "Khufu is my lover"
var isMatch = pattern.test(content);
//isMatch是布尔值,如果匹配则返回true,否则返回false,利用isMatch进行后续操作
……
……
……
</script>

当然,在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。前者常用于查找匹配,后者常用于替换
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

//search()方法
<script>
function myFunction() {

	var content = "khufu is my lover";
	
	//匹配模式,i是修饰符,表示不区分大小写,两个/之间的就是你想替换的字符串模式,里面你可以写你需要的正则表达式
   var pattern = /khufu/i ;

  // n表示的是khufu在"khufu is my lover"出现的位置索引,本例中n=0(起始位置为0),如果不存在匹配的子串,那么n=-1。   
   var n =content.search(content);
  ……
  ……
  ……
}
</script>

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

//replace()方法
<script>
function myFunction() {
	//一开始内容为“khufu is my lover”
	var oldcontent = "khufu is my lover";
	
	//匹配模式,i是修饰符,表示不区分大小写,两个/之间的就是你想替换的字符串模式,里面你可以写你需要的正则表达式
   var pattern = /khufu/i ;
   
   //你要想的替换部分的替代字符串
   var replaceStr = "Banana";
   
   //现在内容为“Banana is my lover”
   oldcontent = oldcontent.replace(pattern,replaceStr);
  
  //当然,你也可以重新定义一个字符串来接受操作后的结果而不去改变oldcont。
  ……
  ……
  ……
}
</script>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值