我是RegEx的新手,我想使用正则表达式在点之间查找单词。
例如,文本是这样的:
abc.efg.hij.klm.opq.
我尝试过以下RegEx:
\.(\w+)\.
它只显示2个匹配项:
.efg.
.klm.
为什么会得到这个结果?
以下是RegEx的链接:https://regex101.com/r/pqMN8t/1/
答案 0 :(得分:3)
它仅显示两个匹配项,因为正则表达式引擎将不匹配已匹配的内容。匹配 <!DOCTYPE html>
<html lang="en">
<head>
{% block jquery %}
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script >
document.addEventListener('DOMContentLoaded', function () {
var width = window.innerWidth;
if (width > 540) {
$('#desktop').load('main.html');
} else {
$('#mobile').load('main.html');
}
});
</script>
{% endblock %}
</head>
<body>
<div id="mobile">
// Mobile //
</div>
<div id="desktop">
// Desktop //
</div>
</body>
</html>
后,它将不匹配.efg.
之前的点,因为该点已经匹配(hij
之后的点)。
解决此问题的一种方法是不匹配点,而改用先行和后备:
efg
这样,点将不匹配。