考验一下你的正则功力

2017 年 3 月 2 日
 kyrre
需求:
有如下文本,需要找出不含“ hede “的行, 不要告诉我用 grep -v ,我要纯正则表达式。
hoho
hihi
haha
hede
5118 次点击
所在节点    程序员
29 条回复
kyrre
2017 年 3 月 2 日
目前搜到离答案最近的是
http://stackoverflow.com/questions/406230/regular-expression-to-match-a-line-that-doesnt-contain-a-word
但悲剧的是我自己用
grep '^((?!hede).)*$' b.txt
居然没用。
des
2017 年 3 月 2 日
@kyrre egrep ??
54c3
2017 年 3 月 2 日
54c3
2017 年 3 月 2 日
@54c3 Updated, h([^e])h\1 will do the work.
https://regex101.com/r/aQUufT/2
langmoe
2017 年 3 月 2 日
http://regex.alf.nu/
考验功力上这个啊
hellogbk
2017 年 3 月 2 日
^(?!.*hede.*).*$
ProkillerJ
2017 年 3 月 2 日
5 楼那个网站已经把正则玩出花了,不怕虐的可以去试一下
DiamondbacK
2017 年 3 月 2 日
Use `grep -P pattern`.
wojiaodaxiaxia
2017 年 3 月 2 日
6 楼应该是最准确直观的答案了吧
loading
2017 年 3 月 2 日
@hellogbk 的答案是我第一感觉的答案,楼主,下一题吧。
kinghs
2017 年 3 月 2 日
^(?!.*hede).*$
ColinZeb
2017 年 3 月 2 日
@langmoe afoot|catfoot|dogfoot|fanfoot|foody|foolery|foolish|fooster|footage|foothot|footle|footpad|footway|hotfoot|jawfoot|mafoo|nonfood|padfoot|prefool|sfoot|unfool
knightdf
2017 年 3 月 2 日
@langmoe 这个分数是越低越好?
pysama
2017 年 3 月 2 日
/^(?!.*hede).*$/gi
pysama
2017 年 3 月 2 日
@hellogbk 哟,我们的答案好像是一样的
kyrre
2017 年 3 月 2 日
且慢点赞。

@hellogbk 我拿你的正则来跑测试没过。

grep '^(?!.*hede.*).*$' b.txt

b.txt 里是我的那几行 string 。
你是怎么跑过的?
wjm2038
2017 年 3 月 2 日
@ColinZeb foo 不就行了吗。。。
kyrre
2017 年 3 月 2 日
@des egrep 貌似没有用,普通的 grep 是支持正则的。
hellogbk
2017 年 3 月 2 日
@kyrre #16
grep -P
kyrre
2017 年 3 月 2 日
@54c3 233333
你真机灵,可惜这种解法不具备通用性,字符串随机一点你就没辙了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/344404

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX