目标:
hello
world
匹配成功:
hello
world
hello world
未匹配成功:
hell worl
例子:
hello world helloworld
js正则:
(\bhello\b)|(\bworld\b)
解释:
\b
表示单词边界()
表示子表达式|
表示或
我对你的这个问题的理解是要匹配hello
和world
这两个单词:
(\bhello\b)
这个子表达式表示单词边界后面紧接着是单词hello
最后再接着是单词边界;(\bworld\b)
同样的,这个子表达式则是world
单词前后紧接着的是该单词的单词边界;(\bhello\b)|(\bworld\b)
最后,再用|
或符号匹配这两个单词;
不知道是否满意,其他关于正则的基础入门书籍推荐《正则表达式必知必会》,一本小册子浅显易懂。或者去看我记的笔记RegEx 快速掌握最基本的正则语法。里面我罗列了很多基本的语法,应对常见的问题应该问题不大。
[hello|world]
每个工具的表达式可能都不一样。
awk python grep java都可以。
输入 | awk ' $1~/(hello)|(world)/'
sed也可以
grep -f words_need_file input
grep -P “(hello)|(world)" input
Java和python有类似的正则
根据你的需求来吧
'(\<hello\>)|(\<world\>)'
hello|world