如何在字符串上组合JS replace()方法中的3个正则表达式模式
How do i combine 3 regex patterns in JS replace() method on a string?
我读过一些建议的答案,大多数似乎都集中在管道OR运算符上,但我想组合正则表达式。真是正则表达式新手。无论如何,我想删除制表符、空格和回车符中的特殊字符。这是我的:
var pattern1 = /(''n)/g;
var pattern2 = /(''t)/g;
var pattern3 = /(''r)/g;
$heading = $heading.replace(pattern1, "");
$heading = $heading.replace(pattern2, "");
$heading = $heading.replace(pattern3, "");
这是有效的,但它正在重复,我找不到任何关于如何创建一个正则表达式模式来查找所有正则表达式并将其删除的信息。
您可以使用逻辑OR组合它们。
var pattern = /(''t|''n|''r)/g;
$heading = $heading.replace(pattern1, "");
使用Wiktor Stribiżew方法,但对于转义的特殊字符,可以使用/''[trn]/g
来匹配后面跟着三个字符中任何一个的反斜杠。
使用条|
用逻辑OR分隔模式。例如,我将使用模式
var pattern = /'r|'t|'n/g;
您也可以使用pattern.source
来获得实际的正则表达式。这样,您可以在稍后阶段将它们组合在一起。像这样:
var pattern1 = /'r/;
var pattern2 = /'t/;
var combined = new RegExp(pattern1.source + '|' + pattern2.source);
combined.source
=> '''r|''t'
该模式将匹配测试字符串中的任何回车、制表符或换行符。有关工作示例,请参见此处。
此外,请查看https://regex101.com/#javascript.这是一个计算正则表达式的好工具。
相关文章:
- JQuery:向多个匹配结果添加换行符的最简单方法
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 关闭第二个事件源上的第一个事件源's onopen方法
- 使用Ajax的问题's发送多个值的Post方法
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- Jqgrid在第一个下拉索引chnage方法后未重新加载
- 有没有一种方法可以从两个标签之间提取文本,并以我选择的格式输出
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 在javascript regexp中捕获多个变量的一种更简单的方法
- 为什么 .on() 方法不执行第一个处理程序
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- 有没有什么方法可以通过输入字段(type=file)来找出选择了多少个文件
- 谷歌地图javascript多个方法错误
- 3个间隔的重叠:什么是最快的方法
- 隐藏数千个
- 元素的最快方法
- 有没有更简单的方法在 Wordpress 中为多个页面模板排队脚本
- 如何在谷歌地图中设置多个信息窗口,但使用这种特定的JavaScript方法
- 在 1 个方法中增加变量值会触发另一个方法的 for 循环,欢迎任何建议
- 如何将jquery对象转移到“On”方法(第二个参数)