Regex 匹配脚本标记之外的所有事件
我正在寻找一种方法来匹配Regex 匹配脚本标记之外的所有事件,regex,Regex,我正在寻找一种方法来匹配窗口中出现的所有不在标记内的单词 是否可以在单个regex中指示此操作 <div class="hidden"> <div class="btn-group window-btn"> <button type="button" class="btn btn-default current"></button> <button type="button" class="btn bt
窗口中出现的所有不在
标记内的单词
是否可以在单个regex
中指示此操作
<div class="hidden">
<div class="btn-group window-btn">
<button type="button" class="btn btn-default current"></button>
<button type="button" class="btn btn-default prev"><i class="ed sf"></i></button>
<button type="button" class="btn btn-default next"><i class="ed sf"></i></button>
</div>
</div>
<div component="tray" class="window-info">
<div id="missing-window" class="window window-missing clearfix hide" component="msg">
<button type="button" class="btn close" aria-hidden="true">X</button>
<p>Window missing. Please try again.</p>
</div>
</div>
<div class="hide">
<script>
window.addEventListener('load', function () {
define(config.relative_path + '/assets/templates/bw_gj12.js', function () {
console.log('path configured')
});
});
window.addEventListener('unload', function () {
leave_msg()
});
</script>
</div>
X
窗户不见了。请再试一次
window.addEventListener('load',函数(){
定义(config.relative_path+/assets/templates/bw_gj12.js',函数(){
console.log('path configured')
});
});
addEventListener('unload',函数(){
离开
});
取决于正则表达式的味道和使用结果的方式。一种方法是将
区域作为一个块进行匹配,然后交替匹配(窗口)
,然后迭代所有匹配并仅使用捕获。表达式的一个示例:
<script\b[^>]*>[\s\S]*?<\/script>|(window)
]*>[\s\s]*?|(窗口)
看
这是可行的,因为正则表达式引擎通常会首先尝试匹配交替的左侧。因为这会占用整个脚本块,所以它无法尝试匹配其中的窗口。因此,它只会尝试匹配它之外的第二个选项。取决于正则表达式的味道以及您希望如何使用结果。一种方法是将
区域作为一个块进行匹配,然后交替匹配(窗口)
,然后迭代所有匹配并仅使用捕获。表达式的一个示例:
<script\b[^>]*>[\s\S]*?<\/script>|(window)
]*>[\s\s]*?|(窗口)
看
这是可行的,因为正则表达式引擎通常会首先尝试匹配交替的左侧。因为这会占用整个脚本块,所以它无法尝试匹配其中的窗口。因此,它只会尝试匹配它之外的第二个选项。谢谢您的帮助。那么,我可以在保留脚本块的同时进行替换吗?@Bhorys取决于您想如何使用它。在编程语言中,您通常可以迭代所有匹配项,或者使用匹配函数来影响替换的完成方式。您需要一些逻辑来查找每个匹配对象中捕获的字符串,并跳过所有没有该字符串的匹配,因此在编辑器中直接使用此正则表达式将导致替换所有匹配、脚本块和窗口。感谢您的帮助。那么,我可以在保留脚本块的同时进行替换吗?@Bhorys取决于您想如何使用它。在编程语言中,您通常可以迭代所有匹配项,或者使用匹配函数来影响替换的完成方式。您需要一些逻辑来查找每个匹配对象中捕获的字符串,并跳过所有没有它的匹配,因此在编辑器中直接使用此正则表达式将导致替换所有匹配、脚本块和窗口。