如何在 jquery 函数中使用正则表达式修饰符
How do I use regex modifiers in jquery function?
我有这个html内容
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<center><img style="margin-left: auto; display: block; margin-right: auto;" src="../img/escudocaba.png" alt="#" width="470" height="90" /></center>
<h1>Hoddda</h1>
</body>
</html>
我需要提取正文的内容,而不包括正文标签。我已经制作了这个完美匹配的正则表达式:
/<body[^>]*>(.*?)<'/body>/is
正如您在本网站中看到的
https://regex101.com/
但是当我使用它时
var bodyHtml=$editor.val().match( /<body[^>]*>(.*?)<'/body>/is);
我没有得到任何结果...还尝试了一个类似的正则表达式,最终没有使用相同的格式并且没有修饰符,并且它是匹配
的 var bodyHtml=$editor.val().match(/(?:.(?!<'s*body[^>]*>))*'>.+/);
例如返回
<center><img style="margin-left: auto; display: block; margin-right: auto;" src="../img/escudocaba.png" alt="#" width="470" height="90" /></center>
在这种情况下,我该怎么做才能将正则表达式修饰符与此 jquery 函数一起使用?谢谢
在正则表达式的JavaScript风格中,.
与新行不匹配。
要解决这个问题,您可以使用[^]
或['s'S]
或['d'D]
或(?:.|'n)
......
试试这个代码:
var bodyHtml = $editor.val().match(/<body[^>]*>(['s'S]*?)(<'/body>|$)/i)[1];
s-修饰符在JS中不存在。 尝试使用 [''s''S] 代替点,如下所示: Javascript 正则表达式多行标志不起作用
喜欢这个:
<body[^>]*>(['s'S]*?)<'/body>
相关文章:
- 正则表达式 jquery 将数字替换为链接
- Jquery 替换所有文本语法正则表达式中的变量
- Jquery正则表达式剪切<脚本>标签
- 使用jquery验证器插件为十进制数设置正则表达式
- Javascript/Jquery.使用带通配符的正则表达式将纯文本替换为html
- 如何使用正则表达式从javascript/jquery中的属性值中提取文本
- Jquery验证引擎正则表达式
- jquery正则表达式在2个分隔符之间进行替换
- Jquery 输入掩码在正则表达式中不可见
- 只允许整数和十进制数字textbow jquery(不带正则表达式)
- jQuery 验证器正则表达式使用数组或变量
- 正则表达式 jQuery 不起作用
- 正则表达式来验证网络路径PHP,jQuery,JavaScript,Ruby
- JavaScript 正则表达式 lookback 和 jQuery 选择器
- 正则表达式用于jquery检查模式并获取HTML
- Javascript/jQuery使用正则表达式搜索“分钟:秒”时间
- jquery 正则表达式修剪 URL 字符串的开头和结尾
- 使用正则表达式在 JavaScript/jQuery 中使用多个 if 语句验证文本
- 正则表达式 jQuery 验证器包含非英文字符
- 正则表达式:JQuery检查