您好我有这样的代码:
<span class="someclass" style="display:none"></span> Some text
如何仅匹配“一些”字?使用regExp for Javascript 10x
答案 0 :(得分:1)
您需要将“Some text”放入“div”中,以便引用它
var str=document.getElementById("myText").innerText;
var patt1=/(Some)/g;
document.write(patt1.test(str));
那将返回true
以下是工作版本:http://jsfiddle.net/4df3w/1/
更改内部文字以查看差异。
编辑:我发现你的字面意思不是“ Some ”。将文本放在div中,并在函数中执行以下操作:
var str = document.getElementById("myText").innerText;
var match = str.split(" ")[0];
document.write(match);
答案 1 :(得分:1)
尝试
var myString = '<span class="someclass" style="display:none"></span> Some text';
var regex = /<\/span> (\w+)/ig;
console.log(regex.exec(myString)[1]);
这将输出“&lt; / span&gt;”之后的第一个单词
编辑:
var regex = /<\/\w+> (\w+)/ig;
这将匹配任何结束标记
答案 2 :(得分:0)
使用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]);