我知道可以匹配一个单词,然后使用其他工具(例如grep -v)反转匹配.但是,我想知道是否可以使用正则表达式匹配不包含特定单词的行(例如hede).
输入:
hoho
hihi
haha
hede
Run Code Online (Sandbox Code Playgroud)
码:
grep "<Regex for 'doesn't contain hede'>" input
Run Code Online (Sandbox Code Playgroud)
期望的输出:
hoho
hihi
haha
Run Code Online (Sandbox Code Playgroud) 我想用java正则表达式否定一组单词.
再说了,我想否定cvs,svn,nvs,mvc.我写了一个正则表达式^[(svn|cvs|nvs|mvc)].
有些看起来似乎没有起作用.
我正在尝试编写一个在代码编辑器(Khan Live Editor)中找到一串HTML标签的正则表达式,并给出以下错误:
"You can't put <h1.. 2.. 3..> inside <p> elements."
这是我想要匹配的字符串:
<p> ... <h1>
Run Code Online (Sandbox Code Playgroud)
这是我不想匹配的字符串:
<p> ... </p><h1>
Run Code Online (Sandbox Code Playgroud)
相反,预期的行为是在这种情况下出现另一条错误消息.
所以在英语中我想要一个字符串;
- 以 - 开头<p>和
- 结束<h1>但是
- 不包含</p>.
如果我不关心a的存在,这很容易使这项工作</p>.我的表情看起来像这样,/<p>.*<h[1-6]>/它工作正常.但我需要确保</p>不在<p>和<h1>标签之间(或任何<h#>标签,因此<h[1-6]>).
我在这里尝试了很多其他帖子的不同表达方式:
从中我尝试过: <p>^((?!<\/p>).)*$</h1>
从中我尝试过: /^<p>(?!<\/p>)<h1>$/
此链接建议: aa([^a] | a[^a])aa
这在我的情况下不起作用,因为我需要特定的字符串" </p>"而不仅仅是它的字符,因为它们之间可能还有其他标签<p> ... <h1>.
我真的很难过.我试过的正则表达式看起来应该有用......任何想法我会如何使这个工作?也许我正在实施其他帖子的建议错误?
在此先感谢您的帮助.
编辑:
要回答为什么我需要这样做:
问题是这<p><h1></h1></p> …
我有一个正则表达式问题,我试图忽略数字'41',我想要4,1,14等所有匹配.
我有这个[^\b41\b]实际上是我想要的,但这也忽略了值1和4的所有单次迭代.
例如,这匹配"41",但我希望它不匹配:\ b41\b
我有以下几个字:
EFI Internal Shell
EFI Hard Drive
EFI Drive
Run Code Online (Sandbox Code Playgroud)
我想匹配包含EFI但不包含Drive的单词.所以只有顶级单词(EFI内壳)才能匹配.
如何在正则表达式中完成?
我仔细研究过,没有一个答案能让我走上正轨.
例如:不包含某些字符串的正则表达式表示要使用^((?!my string).)*$但不起作用.甚至匹配任何不包含Drive的字符串.
有小费吗?