javascript - 获取所有 4 个字母的单词正则表达式

标签 javascript regex

为了让所有 4 个字母的单词都由 any 分隔,我编写了以下代码:

function select() {
    var html = document.getElementById('p').innerHTML;
	var fourLettered = html.match(/[^a-zA-Z|^$][a-zA-Z]{4}[^a-zA-Z|^$]/g) || [];
	document.getElementById('other').innerHTML = fourLettered.join('<br>');
}
p {
	background-color: #eee;
}

.red {
  color: red;
}
<p id="p" contenteditable="true">This is <i>a</i> <span class="red">paragraph</span> <b>with</b> lots of markup and-lots-of letters;with?four char</p>
<p id="other"></p>
<button onclick="select()">SELECT</button>

但是,在这种情况下,我无法获得 p 标记开头或结尾的 4 个字母单词,即 Thischar

标记/span> 也被选中。 如何解决这个问题?

最佳答案

试试这个:

function select() {
    var html = document.getElementById('p').textContent;
	var fourLettered = html.match(/\b[a-zA-Z]{4}\b/g) || [];
	document.getElementById('other').innerHTML = fourLettered.join('<br>');
}
p {
	background-color: #eee;
}

.red {
  color: red;
}
<p id="p" contenteditable="true">This is <i>a</i> <span class="red">paragraph</span> <b>with</b> lots of markup and-lots-of letters;with?four char</p>
<p id="other"></p>
<button onclick="select()">SELECT</button>

关于javascript - 获取所有 4 个字母的单词正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36674424/

相关文章:

javascript - 如何在 Phoenix elixir webapp 中设置 materializecss javascript

javascript - 在 javascript 关联数组(哈希)中查找重复值

netbeans-7 - 在 Netbeans 7.3.1 中添加自定义 javascript 库

java - ExtJS 使用哪种服务器端 Java 技术

javascript - 如何创建一个函数来接受参数并在调用时递增它?

regex - 这怎么办?运算符(operator)在正则表达式中工作?

javascript - 如何让我的正则表达式翻译我给它的字符串而不是它自己的输出?

javascript - 使用 JavaScript 正则表达式匹配和替换字符串

java - 通过 JsonPath 中的正则表达式过滤值

正则表达式:需要两次找到相同的字符序列,然后在其周围包裹一个 html span