使用php正则式去除字符串中最后一个斜杠及之后的内容

使用php正则式去除字符串中最后一个斜杠及之后的内容?
原字符串可能由任意的中英文及数字组成。

例一:
一句话描述您的疑问/123一二三abc
去除后:
一句话描述您的疑问

例二:
一句话描/述您的疑问/123一二三abc
去除后:
一句话描/述您的疑问
例三:一句话描/述(您的)疑问/123一二三abc去除后:一句话描/述(您的)疑问

可以参考下面的两种方法:

1、var s = '一句话描/述(您的)/疑问/123一二三abc'; 

s.replace(/(.*)\/{1}.*/, '$1'); //标准模式下,.*会自动匹配到最后一个位置

//输出 "一句话描/述(您的)/疑问"

2、$str = '一句话描/述(您的)疑问/123一二三abc';

$str = preg_replace('/(.*)\/{1}([^\/]*)/i', '$1', $str);

echo $str;

扩展资料:

PHP正则表达式中的参考函数:

pattern: 要搜索的模式,字符串类型。

subject:输入字符串。

match: 如果提供了参数matches,它将被填充为搜索结果,数据结构为一维数组。

flags: 可以设置为PREG_OFFSET_CAPTURE,使用搜索结果的第0个元素为匹配的字符串,第1个元素为对应的偏移量(位置)

offset: 搜索从目标字符串的起始位置开始匹配。

pattern:要搜索的模式。可以是一个字符串或字符串数组。

replacement:用于替换的字符串或字符串数组

参考资料来源:百度百科-PHP (超文本预处理器)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-08
var s = '一句话描/述(您的)/疑问/123一二三abc'; 
s.replace(/(.*)\/{1}.*/, '$1'); //标准模式下,.*会自动匹配到最后一个位置

//输出 "一句话描/述(您的)/疑问"

第2个回答  推荐于2017-11-26
$str = '一句话描/述(您的)疑问/123一二三abc';
$str = preg_replace('/(.*)\/{1}([^\/]*)/i', '$1', $str);
echo $str;

没有测试,你自己测试一下行不行

本回答被提问者采纳
第3个回答  2014-01-09
这个问题完全不用正则啊;

str_replace( strrchr($str.'/') , '' , $str);

取得字字符串中最后一个斜杠及之后的内容,之后替换成空字符串就ok