【问题标题】:javascript RegEXjavascript 正则表达式
【发布时间】:2015-06-25 18:54:09
【问题描述】:

我有这个字符串“rb40425,Fri Jan 30 11:35:33 2015@ot7293,Fri Jan....”

我想使用 javascript RegEX 仅获取用户名,例如 rb40425 和 ot7293 等等。

这是我目前拥有的:

替换(/,.*/, "");

只返回第一个用户名。

【问题讨论】:

  • 你怎么知道用户名是什么?
  • /[a-z]{2}\d+/g 工作吗?

标签: javascript regex


【解决方案1】:

您可以使用/,.*$/ 正则表达式将字符串拆分为每个@ 符号,然后将.map() 用户数组拆分为仅包含用户名的新数组,以匹配从逗号开始的所有内容。

像这样:

var str = "rb40425,Fri Jan 30 11:35:33 2015@ot7293,Fri Jan....";
var users = str.split('@')
               .map( function(x){ return x.replace( /,.*$/, '' ); } );
console.log( users.join('\n') );

如果您不想拆分字符串,则可以使用:

var users = str.replace( /,.*?(@|$)/g, ',' );
console.log( users );

这将替换每个逗号和所有以下字符(但尽可能少),直到找到@ 符号或字符串结尾。

【讨论】:

  • 所以当我有这样的输出时,我仍然无法显示两个以上的用户:d7922,2014 年 3 月 4 日星期二 17:28:45@ld7922,3 月 4 日星期二 17:29:42 2014@rr7323,Tue Mar 4 17:28:45 2014@ld7922,
  • var str = "d7922,Tue Mar 4 17:28:45 2014@ld7922,Tue Mar 4 17:29:42 2014@rr7323,Tue Mar 4 17:28:45 2014@ld7922,"; var users = str.split('@').map( function(x){ return x.replace( /,.*$/, '' ); } ); console.log( users.join('\n') ); 输出 4 个用户,我发布的第二种方法也是如此。
  • 实际上只放了前两个用户。我会尝试附上屏幕截图。
【解决方案2】:

类似

/[a-zA-Z0-9]+(?=,|$)/g
  • [a-zA-Z0-9]+ 匹配一个或多个字母或数字。

  • (?=,) 检查上述模式中的匹配字符是否后跟, 或字符串结尾$

Regex Demo

示例

var string = "rb40425,Fri Jan 30 11:35:33 2015@ot7293,Fri Jan....";
console.log( string.match(/[a-zA-Z0-9]+(?=,|$)/g));
// => ["rb40425", "ot7293"]

string = "d7922,Tue Mar 4 17:28:45 2014@ld7922,Tue Mar 4 17:29:42 2014@rr7323,Tue Mar 4 17:28:45 2014@ld7922";
console.log( string.match(/[a-zA-Z0-9]+(?=,|$)/g));
// => ["d7922", "ld7922", "rr7323", "ld7922"]

【讨论】:

  • @ReazurRahman 欢迎您。如果您觉得它们有用,请点赞并接受答案:)
  • 所以当我有这样的输出时,我仍然无法显示两个以上的用户:d7922,2014 年 3 月 4 日星期二 17:28:45@ld7922,3 月 4 日星期二 17:29:42 2014@rr7323,Tue Mar 4 17:28:45 2014@ld7922,
  • @ReazurRahman 这是我的一个小故障。通过添加$ 修复。见第二个例子。
  • 看来我输出匹配的列还不够大,无法显示所有用户是否有办法只显示前 4 个字符。像 dl79、ld79、rr73、ld79。
猜你喜欢
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多