`
nswish
  • 浏览: 108556 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript正则表达式 做元字符转义处理

阅读更多

正则表达式虽然好用,但是有时也会遇到一些头疼的问题。


比如说,根据用户的输入查找匹配的字符串,当用户输入点号(.)或者是加号(+)等正则表达式元字符时就麻烦了。用户的本意应该是搜索带有点号(.)或者是加号(+)的文本,而不是搜索“至少包含一个字符的字符串”(.+)。


所以在将用户的输入提交正则表达式引擎处理之前,我们要先做转义处理。转义函数的定义如下:


var escapeUserInput = function(str){
    return (str+'').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");

};


通过正则表达式的分组特性,将用户输入的字符串先做一个元字符的转义处理。这样就可以安心处理后面的查找匹配了。

 

1
3
分享到:
评论

相关推荐

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    使用正则表达式拆分字符串

    在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换、分割等操作。在本教程中,我们将深入探讨如何使用正则表达式来拆分字符串,这对于数据处理和文本分析尤其有用。下面...

    正则表达式必知必会v_1.0.pdf

    在正则表达式中,元字符表示在正则表达式中不代表其字面含义,而是具有特别意义的字符。例如句点(.)、中括号字符([])、反斜线(\)等都是元字符。为了使用元字符的字面意思,需要进行转义,例如使用反斜线(\)...

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    通过深入学习和理解JavaScript正则表达式,程序员可以增强其在处理字符串逻辑时的灵活性和效率,解决各种复杂的问题。本书"JavaScript正则表达式迷你书(1.1版)"将对此进行全面讲解,帮助读者掌握这一关键技能。

    Java正则表达式处理特殊字符转义的方法

    在Java中,使用正则表达式处理特殊字符转义时,可能会遇到一些问题。例如,尝试使用`*`作为正则表达式的部分时,如果不进行转义,会抛出`java.util.regex.PatternSyntaxException: Dangling meta character '*' near...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十:正则表达式

    2. 基本元素:正则表达式由各种基本元素组成,包括字符(如字母、数字)、元字符(如`.`、`^`、`$`、`\d`等)以及量词(如`*`、`+`、`?`、`{n,m}`)。 3. 特殊字符转义:在正则表达式中,特殊字符需要使用反斜杠`(`...

    正则表达式.rar || 正则表达式.rar

    1. 元字符:正则表达式中包含一些特殊字符,如"."(匹配任意字符,除了换行符)、"*"(匹配前一个字符0次或无限次)、"+"(匹配前一个字符1次或无限次)、"?"(匹配前一个字符0次或1次)等,它们称为元字符,具有...

    正则表达式.rar 正则表达式.rar

    理解元字符、量词和分组是基础,然后可以通过在线测试工具(如Regex101、RegExr)进行实验,逐步提高对正则表达式的理解。 在实际应用中,注意避免过于复杂的正则表达式,保持代码的可读性。同时,要熟悉目标环境...

    正则表达式详细介绍

    此外,正则表达式中还有一组被保留作特殊用途的元字符,如括号[]用于字符集匹配,反斜杠用于转义,脱字符^用于表示行的开始,美元符号$表示行的结束,竖线|用作选择(或关系),问号?表示零个或一个匹配,星号*表示...

    JavaScript_正则表达式语法.doc

    ### JavaScript正则表达式语法详解 #### 一、引言 正则表达式是一种强大的文本处理工具,可以用来实现字符串的查找、替换等操作。在JavaScript中,正则表达式的应用非常广泛,从简单的字符串匹配到复杂的文本解析,...

    JavaScript 常用正则表达式

    2. **正则表达式元字符** - `. (点号)`: 匹配除换行符外的任何单个字符。 - `*`: 零个或多个前面的字符。 - `+`: 一个或多个前面的字符。 - `?`: 零个或一个前面的字符。 - `{n}`: 指定前面的字符出现n次。 - ...

    正则表达式.txt,正则表达式.txt

    1. **元字符**:正则表达式中的特殊字符,用于构建复杂的匹配规则。 - **`.`**:匹配任何单个字符(除了换行符)。 - **`^`**:表示行的开始位置。 - **`$`**:表示行的结束位置。 - **`*`**:前面的字符出现...

    javascript正则表达式全攻略

    本攻略将深入探讨JavaScript正则表达式的各种特性和用法,帮助你掌握这一核心技能。 一、基础概念 1. 正则表达式(Regular Expression)是一种模式,用于匹配字符串中的特定字符序列。 2. JavaScript中的正则表达式...

    精通正则表达式&正则表达式经典实例

    2. **元字符**:例如点号(.)代表任意单个字符,反斜杠(\)用于转义特殊字符,^表示行首,$表示行尾,\b用于匹配单词边界。 3. **量词**:星号(*)表示前面的字符可以出现零次或多次,加号(+)表示至少一次,...

    最详细正则表达式教程、最好正则表达式参考

    9. **转义**:在正则表达式中,如果需要使用元字符的字面值,需要在其前加反斜杠 `\` 进行转义,如 `\.` 表示匹配实际的句点字符。 10. **边界匹配**:除了`\b`之外,还有其他边界匹配符,如`^`表示字符串的开始,`...

    常用正则表达式 正则表达式

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。它通过一种特殊的语法来描述一个字符串集合,可以非常灵活地表示各种复杂的字符串格式...

    正则表达式速查 正则表达式举例 正则表达式学习

    正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助我们完成对字符串的搜索、替换等操作。它广泛应用于各种编程语言中,如JavaScript、Python等。通过简单的规则定义复杂的文本模式,正则表达式...

Global site tag (gtag.js) - Google Analytics