我有一些我需要定位的文字有一些主要的点,我发现一些代码可以使用单词和间距,但是无法使这个代码适用于前导点。我玩过正则表达式,但它在很大程度上制动了它。
这就是我所拥有的:
$(document).ready(function(){
$('p').each(function () {
var $this = $(this);
$this.html($this.text().replace(/\b..\b/g, '<span style="display:none">..</span>'));
});
});
有人能让我走上正确的道路吗?
答案 0 :(得分:7)
.
在正则表达式中具有特殊含义,它将匹配任何字符。你需要转义它,以便正则表达式匹配文字字符\.
。
$this.text().replace(/^(\.+)/g, '<span style="display:none">$1</span>')
答案 1 :(得分:3)
答案 2 :(得分:1)
如果您只想从开头使用^
删除字符,请转义点\.
,否则.
匹配任何字符。最后,使用+
表示匹配一个或多个点。
/^\.+/g
答案 3 :(得分:0)
试试这个
这将捕获以(..)
开头的字符串。 =&GT;表示正则表达式中的单个字符。因此,它使用反斜杠进行转义。
示例:
.. jfghhfg
$this.html($this.text().replace(/^\.\./g, '<span style="display:none">..</span>'));
以下是demo
答案 4 :(得分:0)
为什么不简单地尝试这个:
$(document).ready(function(){
$('p').each(function () {
var $this = $(this);
$this.html($this.text().replace(/^\.{2}/g, ''));
});
});
答案 5 :(得分:0)
这也可以http://jsfiddle.net/Xg3Ej/11/
$this.html($this.text().replace('..', '<span style="display:none">..</span>'));