Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 如何从正则表达式的匹配搜索中排除某些单词?_Regex_Search - Fatal编程技术网

Regex 如何从正则表达式的匹配搜索中排除某些单词?

Regex 如何从正则表达式的匹配搜索中排除某些单词?,regex,search,Regex,Search,我正在使用TinyTinyRSS,并希望使用支持正则表达式的已实现过滤器功能来组织我的文章。通常,我会过滤像star这样的词,然后找到包含star的所有内容。但我还想排除某些词,如started、starshine或seastar 我的谷歌查询如下:star-start | starshine | seastar 那么RegExp中的适当命令是什么 提前谢谢 您可以使用单词边界: \bstar\b 将查找“star”一词,而不查找其他任何词,意思与custard或stars不同 如果您希望避免

我正在使用TinyTinyRSS,并希望使用支持正则表达式的已实现过滤器功能来组织我的文章。通常,我会过滤像
star
这样的词,然后找到包含
star
的所有内容。但我还想排除某些词,如
started、starshine
seastar

我的谷歌查询如下:
star-start | starshine | seastar

那么RegExp中的适当命令是什么


提前谢谢

您可以使用单词边界:

\bstar\b
将查找“star”一词,而不查找其他任何词,意思与
custard
stars
不同

如果您希望避免仅匹配这些,并且如果您使用的是完全支持lookarounds的regex引擎,您可能可以使用:

(?<!sea)star(?!ted|shine)

(?谷歌搜索“正则表达式的补码”,在那里你会发现这并不明显,有一个正则表达式可以解决你的问题,但它看起来可能非常有趣。我以前搜索过,但没有找到方法,甚至是“丑陋的”一个。我不认为这是OP真正想要的。他需要找到所有包含
star
的单词,只是不确定的单词。@sojusnik但是第二个正则表达式对你有什么作用呢?排除的次数越多,它肯定会变长,但是这个会匹配
star
,除非是在你提到的单词中。@sojusnik Any luc我无法测试这个命令,因为时间不够,我会在找到空闲时间后回复。请耐心等待。