红薯求解正则表达式 @xxxx

红薯 发布于 2011/04/18 17:36
阅读 1K+
收藏 8

解读下一代网络:算力网络正从理想照进现实!>>>

红薯对正则表达式一窍不通!

现求解用来解析 @xxxx 的正则表达式:

目前正在使用的是 @.+?[\\s:] ,但无法匹配 "@红薯" 这样的字符串

@.+?[\\s:] 支持 @红薯[空白字符]@红薯: 这样的字符串。

请大家在回帖的时候不妨先自己试试,因为我找了网上很多方法,试验了千百次都不成功:)

Java 环境!注 \b 这种写法在 java 中不支持

加载中
0
红双囍
红双囍

什么环境?PERL/PHP/JAVA?

另,匹配应该有个括号的吧,如:@(.+?[\\s:])

0
红薯
红薯

引用来自#2楼“红双囍”的帖子

什么环境?PERL/PHP/JAVA?

另,匹配应该有个括号的吧,如:@(.+?[\\s:])

不需要的,现有的正则表达式已经在oschina的动态中使用了

0
曾建凯
曾建凯

var str = "@红薯:";

var reg = /@([^@^\s]{1,})([\s\:]?)/i;

console.log(str.match(reg ));

先写个,因为要开会了,等会过来。

0
JavaGG
JavaGG

这种应不行的吧,如果

@红薯 和 @红薯a  这样怎分别@的是谁?

0
红薯
红薯

引用来自#4楼“曾建凯”的帖子

var str = "@红薯:";

var reg = /@([^@^\s]{1,})([\s\:]?)/i;

console.log(str.match(reg ));

先写个,因为要开会了,等会过来。

好像可以哦,你太牛了

0
红薯
红薯

引用来自#4楼“曾建凯”的帖子

var str = "@红薯:";

var reg = /@([^@^\s]{1,})([\s\:]?)/i;

console.log(str.match(reg ));

先写个,因为要开会了,等会过来。

这种方法在匹配 @红薯:你好 这样的字符串时,是错误的结果,不过无所谓了

0
G.
G.

引用来自#7楼“红薯”的帖子

引用来自#4楼“曾建凯”的帖子

var str = "@红薯:";

var reg = /@([^@^\s]{1,})([\s\:]?)/i;

console.log(str.match(reg ));

先写个,因为要开会了,等会过来。

这种方法在匹配 @红薯:你好 这样的字符串时,是错误的结果,不过无所谓了

var reg = /@([^@^\s]{1,})([\s\:]+)/i;

0
G.
G.

var str = "@红薯:::你不是AI";
var str2 = "@红薯:你不是AI";
var str3 = "@红薯   :你不是AI";
var str4 = "@红薯: 你不是AI";
var str5 = "@红薯   :   你不是AI";
var str6 = "@红薯 你不是AI";


var reg = /@([^@^\s^:]{1,})([\:\s]{0,1})/i

console.log(str.match(reg ));
console.log(str2.match(reg ));
console.log(str3.match(reg ));
console.log(str4.match(reg ));
console.log(str5.match(reg ));
console.log(str6.match(reg ));

这样行不行?

0
曾建凯
曾建凯

如果要满足红薯最后的要求的那个要求的话,需要这样设置正则:

var str1 = "@红薯:中国人";
var str2 = "@红薯:";
var str3 = "@红薯";

var reg = /@([^@^\s^\:]{1,})(?:([\s\:]?)(.*))/i;

console.log(str1.match(reg ));
console.log(str2.match(reg ));
console.log(str3.match(reg ));

0
尼莫
尼莫

不明白xxxx是神马意思

返回顶部
顶部