是否有一些快速的方法来编写以这种格式接受某事的egrep正则表达式:
(某些字符或非数字和字母字符)黑色
black and white
black is good color
blackeverywhere
9black cats
它应该接受第一行和第二行
编辑:也许我应该更精确,黑色必须是一些空格而黑色不必在开头
这是一个有效的
a i o black fdfd
这些不是
ppooo pblack sdsdds
iii blackdsdsd
答案 0 :(得分:2)
如果我理解正确
$ grep "\bblack\b" file
black and white
black is good color
$ ruby -ne 'print if /\bblack\b/' file
答案 1 :(得分:0)
我想:
(\s|^)black(\s|$)
这应该匹配任何空格或开头没有任何空格,后面跟任何空格或最后没有任何空格。
听起来你只是希望黑色在字符串中被隔离......被空格,制表符或换行符包围。
答案 2 :(得分:0)
根据新示例进行了更新
更精确:
(\s|^)black(\s|$)
(\s|^)
匹配空格或新行的开头black
文字字符串匹配(\s|$)
匹配空格或行尾答案 3 :(得分:0)
其中一个可能有效
/(^|[^a-zA-Z0-9])black(\s|$)/
/(^|[\W_])black(\s|$)/