javascript - 正则表达式用于带有特定前置字符的HTML标记引号,并破坏HTML引号

标签 javascript html regex

我正在研究一种用于匹配所有引号(双引号和单引号'一样)的正则表达式,这些引号前面必须有特定的字符,并且在到达相同的引号类型或遇到HTML注释(<!-)时将结束。

游戏规则是:


HTML标记名称本身(例如“ ”)无关紧要;正则表达式仅从HTML元素的属性获取输入(
正则表达式必须能够找到单引号(')和双引号("),但只能在达到其自己的引号类型(\1),HTML逗号(<!--)或末尾时转义。输入($)。
如果遇到HTML注释,引号将被打断,但仍被视为引号:
this regex

/[^\w!#£¤€´¨\-.:]('|")(.|\n)*?(\1|<!--|$)/


不过,DISALLOW区域中存在问题(正则表达式)。由于不允许使用第一个字符,因此正则表达式在这里永远不能工作。

在此先感谢您的帮助!

澄清度

regexpal.com上的示例。除DISALLOW部分下的内容以外的所有内容都是正确的。

期望的结果应该如下。粗体字表示使用上面的正则表达式显示的匹配项。那里的(许多)HTML注释以一致的方式结束了HTML标签。

允许



























不允许

















两种报价类型





停止HTML报价





输入结束


这(换行)仍然是报价的一部分

最佳答案

我知道了。当然,比赛开始时的引号字符应排除在外。

/[^\w!#£¤€´¨\-.:'"]('|")(.|\n)*?(\1|<!--|$)/

关于javascript - 正则表达式用于带有特定前置字符的HTML标记引号,并破坏HTML引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13765600/

相关文章:

java - Node.JS 正则表达式引擎在大输入时失败

objective-c - 带算术的 NSRegularExpression

html - ul -> 一条规则不应该影响 child ul -> a

javascript - 使用 $http.get 从 AngularJS 中的 URL 读取 JSON

javascript - 如何区分实际的鼠标点击和脚本生成的点击?

javascript - 从 html 文件调用 Javascript 函数

html - simple_form bootstrap form-horizo​​ntal initializer wrappers 未应用

regex - 在 Julia 中将 ismatch() 函数与正则表达式一起使用时出错

javascript - 将 keyDown 按键更改为小写

javascript - 如何从我的 javascript Web 应用程序调用 google 云函数