Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >转义特殊字符的RegEx

转义特殊字符的RegEx
EN

Stack Overflow用户
提问于 2019-05-13 15:39:19
回答 1查看 79关注 0票数 0

尝试RegExp为字符串匹配生成正则表达式。与文档中指定的转义混淆。每当使用RegExp构造函数类型时,输入字符串都需要使用该文档中提供的函数进行转义。

正确使用文字方法

代码语言:javascript
代码运行次数:0
复制
 "test".match(/te*/gi)

输出:

“特”,“不”

当我尝试使用RegExp构造函数时,输出会发生变化。

代码语言:javascript
代码运行次数:0
复制
rg="te*"
function escapeRegExp(str) {
   return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}

exp = new RegExp(escapeRegExp(rg),'gi')
console.log("exp =>", exp);
console.log("test".match(exp));

输出:

exp => /te*/gi 空

在“*”之前会有反斜杠吗?它逃出来了吗?为什么所生成的正则表达式与文字表达式不同?我不知道我从那个医生身上漏掉了什么。

我很感谢你能帮我指出这里的错误!

EN

回答 1

Stack Overflow用户

发布于 2019-05-13 15:45:40

因为您不想转义* --它是正则字符:

代码语言:javascript
代码运行次数:0
复制
const temp = "te*";
const reg = new RegExp(temp, "gi");
console.log("test".match(reg));

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56121149

复制
相关文章
转义JavaScript特殊字符
大家可以举一反三,触类旁通,反正,双引号和单引号可以配合着使用,把我上面的案例看懂,你就能灵活的运用了。
IT工作者
2022/01/05
4.1K0
LogQL如何转义特殊字符
在上篇的Loki操作方法系列中,我已经分享了创建快速过滤器查询的所有最佳技巧,这些查询可以在几秒钟内过滤掉TB级的数据。
云原生小白
2021/05/13
2.9K0
正则中需要转义的特殊字符
正则表达式中有一些特殊的字符需要转义,收集整理如下: 特殊字符         说明 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 . 匹配
流柯
2018/08/31
4.1K0
html常用实体字符,转义字符,特殊符号
HTML 原代码显示结果描述&lt;<小于号或显示标记&gt;>大于号或显示标记&amp;&可用于显示其它特殊字符&quot;“引号&reg;®已注册&copy;©版权&trade;™商标&ensp; 半个空白位&emsp; 一个空白位&#12288; 中文全角空格 (一个中文宽度)&nbsp; 不断行的空白 .pwarm{ text-indent:0px !important;
Sindsun
2018/04/28
4.9K0
PHP转义Json里的特殊字符的函数
在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。 比如这么一段 content: 'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.' 则必须要转化为: Lorem ipsum \"dolor\" sit amet,\nconsecte
wangxl
2018/03/07
2.7K0
PHP转义Json里的特殊字符的函数
正则表达式需要转义的特殊字符
正则表达式中有些字符具有特殊的含义,如果在匹配中要用到它本来的含义,需要进行转义(在其前面加一个\)。
week
2021/05/06
4.1K0
MSBuild 中的特殊字符($ @ % 等):含义、用法以及转义
在 MSBuild 中有一些特殊字符,如 $ @ % ' 等,本文介绍他们的含义,如何使用他们,以及你真的需要这些字符的时候如何编写他们。
walterlv
2023/10/22
4280
mybatis like 模糊查询 特殊字符报错 转义处理
<if test="projectName!=null and projectName!=''"> <bind name="projectName_" value="'%'+projectName+'%'"/> AND info.name like #{projectName_} </if>
qubianzhong
2018/08/02
2K0
php字符串中转义成特殊字符实例讲解
在php的字符串使用时,我们有学会一些转义字符,相信大家在记忆这些知识点的时候费了不少的功夫。本篇我们为大家带来的是字符串的转义方法,涉及到特殊字符的使用,主要有两种方法可以实现:mysql库函数和转义函数。下面就这两种方法,在下文中展开详细的介绍。
用户8832582
2021/07/13
1.9K0
HTML转义字符:xss攻击与HTML字符的转义和反转义
转义只是防止xss攻击的一种手段之一,更多请查看:《web开发前端安全问题总结——web前端安全问题汇总》
周陆军博客
2022/06/25
11.5K0
python字符串转义字符_python 转义
上图中因为python不知到如何处理一对单引号之后的内容,不能识别第三个单引号。(默认都是以一对单引号或双引号来表示字符串从结束到开始。)
全栈程序员站长
2022/11/01
7.2K0
python字符串转义字符_python 转义
python的转义字符
参考   Python转义字符 - 云+社区 - 腾讯云 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵向制表符 \t 横向制表符 \r 回车 \f 换页 \oyy 八进制数,yy代表的字符,例如:\o12代表换行 \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行 \other 其它的字符以普通格式输出
狼啸风云
2022/11/18
2K0
python 字符转义(url中文转义)
大家好,又见面了,我是你们的朋友全栈君。URL特殊字符需转义 1、空格换成加号(+) 2、正斜杠(/)分隔目录和子目录 3、问号(?)分隔URL和查询 4、百分号(%)制定特殊字符 5、#号
全栈程序员站长
2022/07/29
8K0
JavaScript转义字符
转义字符是字符的一种间接表示方式。在特殊语境中,无法直接使用字符自身。例如,在字符串中包含说话内容。 "子曰:"学而不思则罔,思而不学则殆。""
用户3519280
2023/07/07
2250
小议转义字符
给小伙伴们简单的补充下转义字符相关的知识,在Java中的字母前面加上反斜线"\"来表示常见的那些不能显示的ASCII字符,我们称之为转义字符。如\0,\t,\n等,就称为转义字符。那么我们来看看下面这个例子: 假如你想在输出时显示如下带引号的信息,你能编写如下所示的这条语句吗? System.out.println("老九君说:"小伙伴你好!""); 答案是肯定的:不能!因为这条语句有语法错误。编译器会认为第二个引号字符就是这个字符串的结束标志,而不知道如何处理剩余的字符。 为了解决这个问题,Java定
老九君
2022/03/15
3.9K0
Python 转义字符
\' 单引号 \" 双引号 \t 制表符 \n 换行符 \ 倒斜杠
py3study
2020/01/10
4.3K0
Java转义字符
定义 转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。 常见转义字符表 Java中需要转义的字符 在Java
Java架构师必看
2021/07/16
6.1K0
Python 转义字符
有时我们并不想让转义字符生效,我们只想显示字符串原来的意思,这就要用r和R来定义原始字符串。如:
周小董
2019/03/25
3.8K0
JS转义字符
1.用来防止字符串内容和程序的标点符号冲突 var a="来自\"星星\"的你"; 2.用来表示特殊的意义 1.\n   换行  2.\t   制表符   特殊: var path="C:\Windows\Temp";  问题:1.查找不到\w,自动去除    2.\t误翻译成制表符 解决:1.把替换成\    2.把替换为/ JavaScript转义符 转义序列 字符 \b 退格 \f 走纸换页 \n 换行 \r 回车 \t 横向跳格 (Ctrl-I) \' 单引号 \" 双引号 \\
十月梦想
2018/08/29
14.9K0
Python转义字符
有时我们并不想让转义字符生效,我们只想显示字符串原来的意思,这就要用r和R来定义原始字符串。如:
狼啸风云
2019/03/20
3.9K0

相似问题

regex转义用于regex的特殊字符

35

转义RegEx中的特殊字符?

21

regex转义空间和特殊字符

33

如何转义regex *(.*)中的特殊字符

11

jq中的转义Regex特殊字符

28
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文