大兵马元帅 发表于 2020-7-22 12:51

auto.js正则,谢谢各位!!

本帖最后由 大兵马元帅 于 2020-7-22 12:53 编辑

我是随机文本一个小 11表格 20分钟前//把“20分钟前”和他前面的空格去掉
我随机文本是一个小 4分钟前//把“4分钟前”和他前面的空格去掉
a1我随机文本是一个小 11表格 1小时前//把“1小时前”和他前面的空格去掉
11表格 昨天22:08//把“昨天22:08”和他前面的空格去掉
我是小 花都A 2天前//把“2天前”和他前面的空格去掉
小花朵 5-18//把“5-18”和他前面的空格去掉
asd色随机文本温为123你和 12-18//把“12-18”和他前面的空格去掉


想实现以上功能,正则怎么操作,谢谢!

67liangchen 发表于 2020-7-22 12:52

同样求助啊!

kesai 发表于 2020-7-22 13:11

/\s*20分钟前/,其它类似,自己琢磨吧

列明 发表于 2020-7-22 13:12

DiamondTAT 发表于 2020-7-22 13:08
必须要正则吗,可以用split(' ')分割字符串 , 然后去除数组最后一个元素再把剩余的元素用空格拼接

好方法!不过用正则也很简单的!等我玩完这局游戏的。

wmdick 发表于 2020-7-22 13:28

var oldStr = "我是一个随即文本 11表格 20分钟前";
var regStr = "20分钟前";

function replaceString(oldStr,regStr) {
    var pattern = '/\\s'+regStr+'*/g';
    var newStr = oldStr.replace(eval(pattern),"");
    return newStr
}

console.log(replaceString(oldStr,regStr));//我是一个随即文本 11表格

麻辣隔壁 发表于 2020-7-22 13:31

{:1_907:}顶顶你可以不?帮顶

列明 发表于 2020-7-22 13:34

(.*)\s+((\d+(分钟|天)前)|((昨天|今天|明天)\d{1,2}:\d{1,2})|(\d{1,2}-\d{1,2}))
1        我是随机文本一个小 11表格 20分钟前        我是随机文本一个小 11表格        20分钟前        20分钟前        分钟                               
2        我随机文本是一个小 4分钟前        我随机文本是一个小        4分钟前        4分钟前        分钟                               
3        11表格 昨天22:08        11表格        昨天22:08                        昨天22:08        昨天               
4        我是小 花都A 2天前        我是小 花都A        2天前        2天前        天                               
5        小花朵 5-18        小花朵        5-18                                        5-18       
6        asd色随机文本温为123你和 12-18        asd色随机文本温为123你和        12-18                                        12-18       

xiao9798 发表于 2020-7-22 13:36

/.*(\s(.*))$/

thepoy 发表于 2020-7-22 13:40

用split比较简单,正则也不算难:
a = "a1我随机文本是一个小 11表格 1小时前"
"a1我随机文本是一个小 11表格 1小时前"
b = a.replace(/\s\S+$/i, "")
"a1我随机文本是一个小 11表格"

亡者之心x 发表于 2020-7-22 14:02

回答的都什么鬼,搞的那么长

(.*) \d+\S*?$

这个就可用,括号内即需要数据,主要是以空格和数字作为界限,后面的非贪婪匹配
页: [1] 2
查看完整版本: auto.js正则,谢谢各位!!