您的位置:首页 > 其它

01-初识正则表达式

2016-06-29 22:06 435 查看
1.js

<script type="text/javascript">
var str = "hello world,hello WORLD,Hello World,HELLO world.";
var pattern = /world/; // 不能加双引号
var r = str.match(pattern); // js中匹配的代码,会返回一个数组
alert(r); //world
console.info(r); //["world", index: 6, input: "hello world,hello WORLD,Hello World,HELLO world."]

// 思考:至少有2个,但上面只匹配到一个,怎么匹配到2个呢?我们需要加一个修饰符g 代表匹配全局
pattern = /world/g;
var result = str.match(pattern);
alert(result); // world,world
</script>


2.php

$str =  "hello world,hello WORLD,Hello World,HELLO world.";
$pattern = "/world/"; // 必须引号
preg_match($pattern, $str, $result);
//var_export($result); // array ( 0 => 'world', )
// 数组里只有1个。那如何匹配到全部呢?

preg_match_all($pattern, $str, $res);
var_export($res[0]); // array ( 0 => 'world', 1 => 'world', )

3.进阶一下:假设我们只记得首字母是w,尾字幕是d,该怎么办?

// js的匹配模式
var pattern = /w\w+d/g;
$pattern = "/w\w+d/";
\w 大小写字母、数字下划线
+ 匹配前面的子表达式一次或多次(>=1)

{3} 代表只有3个匹配字符

\w{3} 代表只有3个匹配的字母、数字、下划线 
<script type="text/javascript">
var str = "hello world,hello WORLD,Hello World,HELLO world. wor1111ld";
var pattern = /w\w+d/g;
var result = str.match(pattern);
alert(result); // world,world,wor1111ld
</script>
$str =  "hello world,hello WORLD,Hello World,HELLO world. wor222ld";
$pattern = "/w\w+d/"; // 必须引号
preg_match_all($pattern, $str, $res);
var_export($res[0]); // array ( 0 => 'world', 1 => 'world', 2 => 'wor222ld', )
<script type="text/javascript">
var str = "hello world,hello WORLD,Hello World,HELLO world. wor1111ld";
var pattern = /w\w{3}d/g;
var result = str.match(pattern);
alert(result); // world,world
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: