Javascript 如何将匹配的单词放入数组?
这是这个问题的后续问题 我在计算一个Javascript 如何将匹配的单词放入数组?,javascript,Javascript,这是这个问题的后续问题 我在计算一个正则表达式中的单词。这只是计算单词,我需要做的不仅仅是计算单词,还有一个单词数组,我可以用array.length来表示。我需要的是一个实际的单词列表,而不仅仅是它们的数量 我的想法是将正则表达式检查器放入某个for循环中 这是我的密码: <body> <textarea rows="14" cols="50" id="text"></textarea> <br/> <br/>
正则表达式中的单词。这只是计算单词,我需要做的不仅仅是计算单词,还有一个单词数组,我可以用array.length
来表示。我需要的是一个实际的单词列表,而不仅仅是它们的数量
我的想法是将正则表达式检查器放入某个for循环中
这是我的密码:
<body>
<textarea rows="14" cols="50" id="text"></textarea>
<br/>
<br/>
<br/>
<br/>
<button onclick="show()">Analyze</button>
<div id="results"></div>
<script>
function show() {
var words;
/// GET WORDS
var s = document.getElementById("text").value;
var word = /[a-zA-Z\d'’-]+/g;
var words = s.match(word).length;
document.getElementById("results").innerHTML = words;
}
</script>
</body>
分析
函数show(){
变异词;
///获得话语权
var s=document.getElementById(“文本”).value;
var-word=/[a-zA-Z\d'-]+/g;
var words=s.match(word).length;
document.getElementById(“结果”).innerHTML=words;
}
您所要做的就是更改这一行:var words=s.match(word).length代码>到var单词=s.match(单词)代码>
现在你有了单词作为单词数组。。。其思想是s.match(word)
本身就是一个数组。。。添加.length
仅返回此数组的长度。完整示例:
<body>
<textarea rows="14" cols="50" id="text"></textarea>
<br/>
<br/>
<br/>
<br/>
<button onclick="show()">Analyze</button>
<div id="results"></div>
<script>
function show() {
var words,
s = document.getElementById("text").value,
word = /[a-zA-Z\d'’-]+/g,
// If no matches, returns null, fallback to empty array
words = s.match(word)||[],
wordCount = words.length;
document.getElementById("results").innerHTML = words;
}
</script>
</body>
分析
函数show(){
换言之,
s=document.getElementById(“文本”).value,
word=/[a-zA-Z\d'-]+/g,
//如果没有匹配项,则返回null,回退到空数组
单词=s.match(单词)| |[],
wordCount=words.length;
document.getElementById(“结果”).innerHTML=words;
}
您的正则表达式不正确请尝试以下操作
var words = "this is a word list";
var wordm = /(\w+)/g;
var beer = words.match(wordm);
console.log (beer); // prints the array
console.log (beer.length); // prints 5
“\w+”匹配任何单词,“()”对它们进行分组,然后g重复它。然后将它们放入一个数组。match
已返回一个数组…请参见下面的答案,下面的正则表达式已修复混乱。我删除了不区分大小写的开关,因为在“\w”的情况下不需要它。我确实测试了这段代码,结果是指定的。