0
我不知道如何做到这一点。我想要一个字符串包含“结束”,但不能以结束开始。一个例子是“升序”一词。我试过^[^(end)]*end.*
,但这也找到了“结局”。 那么这将如何正确完成?正则表达式,Word包含x,但不以x开始
我不知道如何做到这一点。我想要一个字符串包含“结束”,但不能以结束开始。一个例子是“升序”一词。我试过^[^(end)]*end.*
,但这也找到了“结局”。 那么这将如何正确完成?正则表达式,Word包含x,但不以x开始
你的企图没有工作,因为你糊涂否定字符类([^...]
定义,但可以通过定义来只覆盖单个字符)与负先行(与(?!...)
定义)。
你有没有正确地写入这一点,它看起来会是这样的:由于显而易见的原因前面.
^(?!end).+end.*$
...与+
代替*
权之后。 )
注意,更直接的尝试 - ^.+end.*$
- 虽然看起来相当正常的,实际上是在词看起来像endendless
(失败,即当有目标字符串的end
子,但它确实与end
启动过)。
另外,如果你正在寻找话目标字符串,而不是仅仅验证它,你应该调整相应的正则表达式,使用单词边界锚,而不是字符串锚那样:
\b(?!end)\w+end\w*
Demo。
您可能希望编辑此代码以解释前端的单词边界,或者额外发布该单词边界。这将匹配“这是我们所知道的世界的末日”,或“这是结束”。 – 2014-11-22 20:19:34
感谢您的答案,但我正在使用python并遍历单词,所以每个字符串都是一个单词。我用负面的样子试了一下,但我忘了补充。+傻,我,谢谢。 – user3146659 2014-11-22 20:39:47
@ user3146659:如果每个字符串都是一个单词,则根本不需要正则表达式,您只需检查从开始到第三个字符的子字符串是否不是“结束”。 – 2014-11-22 21:18:36