Javascript ::使用regex进行live replace(),仅当单词“终止”时

百富勤

我想替换键入的每个单词在字符串中的出现,

这就是我从上下文中拿走的东西...

$(document).on('keyup','textarea', function() {
    this.value=this.value.replace(/\bnot\b$/gi,"_-Ni!-_ ");
});

因此,每次您在文本区域中键入“ not”一词时,它将替换掉“ not”一词,

我使用正则表达式来避免用“另一个”之类的单词替换“不”,

我现在遇到的问题是,如果您的打字机比运行的脚本慢,则该函数会替换以“。”开头的单词,

所以像“值得注意”之类的词在输入“值得”之前就被改变了,

我本想指定每种可能的结尾词的情况,例如换行,空格,标点符号等,但是我却看是否有一种更简单的方法并且无法找到它,所以在我将大量特殊字符粘贴到背面之前这个词我以为我会问社区他们是否知道一种方法

马丁·恩德(Martin Ender)

为了确保thenot是一个完整的单词,您需要再等待一个字符并确保它不是单词字符:

(document).on('keyup','textarea', function() {
    this.value=this.value.replace(/\bnot(?=\W$)/gi, "_-Ni!-_ ");
});

请注意\w\W都将\b“单词字符”理解为字母,数字和下划线。如果需要字母,则需要这样更改:

/\bnot(?=[^a-z]$)/gi

对于这个词的开头,您将需要更加努力,因为后视不是ECMAScript regex风格的一部分:

/(^|[^a-z])not(?=[^a-z]$)/gi

并替换为

"$1_-Ni!-_ "

它将回写上一个字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

regex_replace,仅替换整个单词

仅使用Javascript进行基于角色的登录

如何使用indexOf或JavaScript中仅包含完全匹配的单词

使用RegEx进行JavaScript拆分而不进行全局匹配

Javascript-使用.replace从字符串中删除单词“ and”

如何使用JavaScript在可编辑<div>中连续.replace()单词?

仅当使用JavaScript对特定输入进行聚焦时,如何显示div块?

单击时 JavaScript 函数终止

使用javascript用html元素对单词进行排序?

在JavaScript中使用Regex进行十进制检查

您如何仅使用Javascript对Marketo进行REST API调用?

仅使用 javascript 对 html 元素进行排序的问题

使用负前瞻时仅匹配单个单词

RegEx for Javascript仅允许使用字母数字

使用javascript单击时仅激活div子类

单击子onclick时忽略父onclick,仅使用Javascript

仅使用javascript聊天?

仅使用递归在JavaScript中用单词字符打印三角形

如何小写任何字符串,然后使用Javascript仅将单词的首字母大写?

在预处理NLP单词时如何保留特定单词?(str.replace和regex)

尝试使用所有可用 RAM 时,程序终止前仅使用 2 GB

使用 localecompare 在键不存在时进行排序 javascript

仅当使用SSL终止负载均衡器时ajax文件上传失败

在RegEx中使用单词“ but”对句子进行分块

使用 Javascript 进行点击

使用JavaScript进行验证

使用 Javascript 进行验证

使用 Javascript 循环随机单词单词

javascript split()使用regEx