我有一個簡單的正則表達式(在C#中使用):如何不讓正則表達式做出太多步驟?
\becua(?:[a-zA-ZáéíóúñÑÑäëïöü])*\b(.(?!embajada))*\s+embajada
1)字開頭 「ecua」
2)無論之後附帶該
3)單詞 「Embajada酒店」 之後「無論「
但它使太多的步驟,我該如何防止這種情況?我只是希望它能夠通過字符,直到找到「embajada」這個單詞,而不是在每一個字符上都回溯。這似乎是簡單的正則表達式,但是當我用一個更大的文本,它拋出一個災難性的回溯(或超時)當模式失敗
例子:https://regex101.com/r/tQ7mM9/4
在此先感謝
你必須使用'(?= Embajada酒店)'代替'(?!Embajada酒店) ',我想 – rock321987
你的文字中沒有「embajada」這個詞,只有「gembajada」。 –
我會展開它:https://regex101.com/r/iR5eW3/1 –