PHP正则提取字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP正则提取字符串相关的知识,希望对你有一定的参考价值。

字符串
$str = "中文abcd123$1,2,3,4,5.jpg";
要求只提取中的内容,
不要只是这个字符串的哦,
要求其它同格式的字符串也能适用。
能不能不要那个大
只要里面的内容?

参考技术A 有 () [] <>可以
<?php
$str = '中文abcd123$1,2,3,4,5.jpg[123123]444<44g>44.124(j)12g4';
$search ='/[(\[<](.*?)[)\]>]/';
preg_match_all($search,$str,$r);
print_r($r[1]);
?>本回答被提问者采纳
参考技术B 下面这个例子和你的相似 ,直接套用就行
<script>
window.onload=function ()
var s="/?type=22?ee=33";
//lastIndexOf 这是最后一次出现?的位置
//indexOf 这是第一次出现?的位置
var dd=s.substr(s.lastIndexOf('?'));
alert(dd);

</script>追问

我问得是PHP,
还有是 正则。。。。

追答

这个函数完全可以实现你的那个功能,没必要非得用php或是正则, 如果是在非得用的话 你就用php的 函数实现吧 先找到的位置 然后找到的位置 最后通过截取这两个位置之间的恭喜

追问

没办法,我还就得用PHP的。
你说的原理我也知道。
但要能做才行吖。

参考技术C $str="中文abcd123\$1,2,3,4,5.jpg";
preg_match("/\.+\/", $str,$sub);
print_r($sub);
参考技术D 本地测试无误:

$str = '中文abcd123$1,2,3,4,5.jpg';
preg_match('/\(.*)\/',$str,$m);
echo $m[1];
第5个回答  2012-04-26 \[^\]*\追问

你这个好像不行吖。。。
我在在线测试那里过不了

以上是关于PHP正则提取字符串的主要内容,如果未能解决你的问题,请参考以下文章

php正则表达式字符串中提取数字,并截取其中的6位

php正则字符串提取汉字

从字符串正则表达式 PHP 中提取数值 [关闭]

php 正则表达式 提取字符串内小括号中的数字,只要数字

一个通用的php正则表达式匹配或检测或提取特定字符类

正则表达式部分提取php代码((数组定义))