首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regex删除名字以允许按姓氏排序

regex删除名字以允许按姓氏排序
EN

Stack Overflow用户
提问于 2012-02-11 03:26:54
回答 1查看 106关注 0票数 0

我正在使用jquery对名称的表列进行排序。我已经准备好了js,只是有点卡在regex命令上了。

我正在寻找的示例:

代码语言:javascript
复制
<a href="bac">John <strong>Smith</strong></a> => Smith</strong></a>
<a href="abc">John <strong>La Smith</strong></a> => La Smith</strong></a>

我现在的声明需要一些润色...

代码语言:javascript
复制
/<a.*>.+ /i
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-11 03:53:47

假设您在JavaScript中使用的是replace,则可以使用以下方法:

代码语言:javascript
复制
var nameLink = '<a href="bac">John <strong>Smith</strong></a>';
var lastName = nameLink.replace(/<a.*?<strong>(.*?)<\/strong>.*?<\/a>/i,"$1");

给出

代码语言:javascript
复制
Smith
La Smith

分别使用。

现在,这是一个非常基本的正则表达式,有很多内置的假设。它假定您的链接始终在<strong>中具有姓氏。你的链接总是以这种形式出现。

我不太确定您打算如何在代码中使用它,所以我只是在replace中提供了regex。

正则表达式本身就是/<a.*?<strong>(.*?)<\/strong>.*?<\/a>/i,它是:

  • 硬编码的开始<a
  • 根据需要以非贪婪方式捕获任意多个字符:.*?
  • 硬编码的非贪婪捕获--在这种情况下,强标记内的所有内容
  • 硬编码的结束强标记
  • 额外的非贪婪捕获,以确保强结束标记
  • 标记的硬编码结束。

不过,您可能希望使用jquery来获取链接中的内容,这意味着可以在正则表达式中去掉<a<\/a>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9233621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档