0

嗨,我有这样的代码:

<span class="someclass" style="display:none"></span> Some text

如何只匹配“Some”字?带有用于 Javascript 10x 的正则表达式

4

3 回答 3

1

您需要将“一些文本”放入“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);

http://jsfiddle.net/4df3w/3/

于 2013-02-13T15:20:29.710 回答
1

尝试

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;

这将匹配任何结束标签

于 2013-02-13T15:28:45.377 回答
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]);
于 2013-02-13T15:40:29.997 回答