嗨,我有这样的代码:
<span class="someclass" style="display:none"></span> Some text
如何只匹配“Some”字?带有用于 Javascript 10x 的正则表达式
嗨,我有这样的代码:
<span class="someclass" style="display:none"></span> Some text
如何只匹配“Some”字?带有用于 Javascript 10x 的正则表达式
您需要将“一些文本”放入“div”中,以便您可以引用它
var str=document.getElementById("myText").innerText;
var patt1=/(Some)/g;
document.write(patt1.test(str));
这将返回 true
这是一个工作版本:http: //jsfiddle.net/4df3w/1/
更改里面的文字以查看差异。
编辑:我看到你的意思不是“一些”这个词。将文本放入 div 中,并在函数中执行以下操作:
var str = document.getElementById("myText").innerText;
var match = str.split(" ")[0];
document.write(match);
尝试
var myString = '<span class="someclass" style="display:none"></span> Some text';
var regex = /<\/span> (\w+)/ig;
console.log(regex.exec(myString)[1]);
这将输出“</span >”之后的第一个单词
编辑:
var regex = /<\/\w+> (\w+)/ig;
这将匹配任何结束标签
使用 DOM:
document.getElementsByTagName('span')[0].nextSibling.textContent.split(' ')[0]
(显然, getElementsByTagName('span')[0] 可能不是找到节点的最直接途径)
使用正则表达式:
var text = '<span ...>blahblah</span> Some text';
var rx = /<\/(.*?)> ?(\S+)/;
console.log(text.match(rx)[2]);