Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Regex和diff实用程序(“I Regex”选项)忽略文件的特定行?_Regex_Linux_Bash_Ubuntu_Diff - Fatal编程技术网

如何使用Regex和diff实用程序(“I Regex”选项)忽略文件的特定行?

如何使用Regex和diff实用程序(“I Regex”选项)忽略文件的特定行?,regex,linux,bash,ubuntu,diff,Regex,Linux,Bash,Ubuntu,Diff,我正在编写自动化测试来比较HTML文件。作为比较,我使用 因此,第一个HTML文件1.HTML 呜呜呜呜 呜呜呜呜 呜呜呜呜 第二个HTML文件2.HTML 布拉布拉布拉布拉布拉差异 呜呜呜呜 布拉布拉布拉布拉布拉差异 Сommand用于比较文件: diff -biw 1.html 2.html 结果: 3c3 < <div id="userdata_hidden">bla bla bla</div> --- > <div id="us

我正在编写自动化测试来比较HTML文件。作为比较,我使用

因此,第一个HTML文件
1.HTML


呜呜呜呜
呜呜呜呜
呜呜呜呜
第二个HTML文件
2.HTML


布拉布拉布拉布拉布拉差异
呜呜呜呜
布拉布拉布拉布拉布拉差异
Сommand用于比较文件:

diff -biw 1.html 2.html
结果:

3c3
<   <div id="userdata_hidden">bla bla bla</div>
---
>   <div id="userdata_hidden">bla bla bla DIFFERENCE </div>
5c5
<   <div id="waiver_id"      >bla bla bla</div>
---
>   <div id="waiver_id"      >bla bla bla DIFFERENCE </div>
我需要检查字符串是否不包含单词
弃权\u id
userdata\u hidden

如果您不想显示任何一个字符串

^(?!.*\b(?:userdata_hidden|waiver_id)\b)

这看起来真像是“做我的家庭作业”类型的问题…@JérémieAstori Astori,不,我正在用ruby编写自动化测试。尝试用bash
diff
command比较两个HTML和pdf文件这就是当有人甚至没有发布实验就提出解决方案时的情况:-)请包括您迄今为止尝试过的内容及其结果,而不仅仅是从头开始的答案。也就是说,如果性能不是关键因素,而您只有2根针(您的2个字),那么您可以按照
的思路使用一些东西!str.match('弃权_id')&&!str.match('userdata_hidden')
并避免自己遭受正则表达式的痛苦…几天后返回,现在这是一个真正的问题:)完成后别忘了选择正确的答案!字符串不应包含这些单词中的任何一个(或代替and),它应该看起来像
/^(?。*\bwaiver\u id\b)|(?!.*\buserdata\u hidden\b)$/
,不是吗?@bmalets更改并更改为or@bmalets:不。您的正则表达式毫无意义,因为
^
属于第一个分支,
$
属于第二个分支。您的意思可能是
/^((?!.\bwaiver\u id\b);(?!.\buserdata\u hidden\b))/
,但这是错误的,因为这意味着要么(没有放弃id)要么(没有用户数据隐藏),这意味着允许它们同时出现。@cremno字符串/行的任何部分都可能没有特殊的单词
^(?!.*\bwaiver_id\b)(?!.*\buserdata_hidden\b)
^(?!.*\b(?:userdata_hidden|waiver_id)\b)