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