使用regex删除alert()标记
Removing the alert() tag using regex
我正在尝试构建HTML解析器,例如用"替换alert("hi there123");
所以
alert(123); var hello = 0;
console.log(hello);
将成为:
var hello = 0;
console.log(hello);
有人建议使用regex,所以我深入研究了一下。现在这是我在网上找到的:something(.*?)something
会抓取单词"something"answers"somethings"之间的文本,但当我尝试使用单词"alert()"时,请注意(),它不起作用。
第页。S.我想做的是,首先删除alert()之间的文本,然后删除alert);类似:string.replace("alert();", "");
regex是否在每次出现时都循环?
如果有人有更好的解决方案,一定要通知我。
如有任何帮助,我们将不胜感激。
您应该有这样的正则表达式:
/(alert'((.*)');)/g
跳过括号在这里很重要。
匹配每个字符。
*匹配n次。
''转义以下字符
g修饰符:全局修饰符,不只返回第一个匹配项。
此处示例:https://regex101.com/r/fD8tQ8/1
您需要退出(
和)
:
alert'(.*?');
演示:https://regex101.com/r/sL6fM6/1
还要注意,你可以一次完成。
重要提示:如果alert(...)
中的表达式中有括号,这将不起作用。这应该通过更棘手的正则表达式来处理。
您必须转义一些字符才能实现这一点。
转义正则表达式的括号
并转义.replace()
方法的双引号。
最后,为了测试您的正则表达式,这里有一个很好的正则表达式测试仪:https://regex101.com/#javascript
像这样的东西应该对你有用:
string.replace(/alert'([''|'"](.*)[''|'"]')';/gmi, "");
在此CodePen中进行了测试。
相关文章:
- 使用类从一个标记中双击事件
- 如何更改<svg>标记为<img>用js标记
- angular.js没有'无法在PhoneGap中处理视图标记
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 谷歌地图标记不会显示
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- HTML标记在脚本标记中工作
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 更改li标记文本的Javascript
- 未捕获的语法错误:意外的标记{
- Js.erb VS按钮标记-不'不起作用.为什么?
- 标记的实时更新,无需加载页面谷歌地图API V3
- 是否可以添加这行“;“照原样”;在HTML标记中
- & lt; br>在alert()方法中删除PRE标记的内容
- 使用regex删除alert()标记