[英]How do I strip <link> tag from javascript String object using Regex or some better alternative?
[英]Javascript strip using regex to get before and after an a tag in string
我有来自服务器的这个字符串
15 Steps is mandatory and must be completed by 14/02/2021: click <a href='http://example.co.uk/training/CRU0007'>here</a> to book/start your learning.
我需要得到 2 个值
15 Steps is mandatory and must be completed by 14/02/2021: click
&
to book/start your learning.
当我尝试这个之前我有一个字符串包裹在:和; 下面的代码有效
var arrStr = newsText.split(/[:;]/);
但如果我尝试
var arrStr = newsText.split(/[<a></a>]/);
我弄得一团糟。
所以我决定尝试使用正则表达式并做到这一点
const linkRx = /<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)\1/;
var arrStr = newsText.split(linkRx);
但这会在最后部分留下>here</a>
那么如何编辑正则表达式以获取 a 标签的 rest。 我已经搜索了很多答案,但他们似乎没有得到整个标签。
我会使用以下正则表达式。
目的是获取<anything></anything>
之前和之后的任何情况。
const str = `15 Steps is mandatory and must be completed by 14/02/2021: click <a href='http://example.co.uk/training/CRU0007'>here</a> to book/start your learning.`; const regex = /(.*?)(?:<.*?>.*?<\/.*?>)(.*)/gm; const [, partA, partB, ] = regex.exec(str); console.log('PartA:', partA); console.log('PartB:', partB);
根据您的尝试,您能否尝试以下操作,在线演示是:在线正则表达式演示
var newsText = `15 Steps is mandatory and must be completed by 14/02/2021: click <a href='http://example.co.uk/training/CRU0007'>here</a> to book/start your learning.` var arrStr = newsText.split(/\s*<a\s+href=[^>]*>[^>]*<\/a>\s*/); console.log(arrStr);
说明:如果匹配 0+ 个空格,后跟一个<href=
标签和结束</a>
标签,后跟 0+ 个空格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.