[英]Regex check if word is succeeded by certain words
我正在使用原生C ++編寫一種編程語言,我正在用C#編寫基本編輯器。 NET WinForms。 但是,我使用的是SyntaxRTB
,我希望Regex能夠捕獲以下錯誤:
如果declare沒有被string / int / float / bool / array / char繼承
我該怎么辦?
(聲明變量的語法是declare variable_type variable_name
) - 也必須考慮空格。
我已declare(?!string)
,但仍然感到困惑。
如果你想要一個正則表達式,你需要一個零寬度的負向前瞻
但是如果你正在構建一種語言,那就不是這樣了。 完整的語言解析器是一個不同的實體。
雖然我同意@fejesjoco,但這是我在這里使用的表達式:
(declare)[\\s](int|string|float|bool|array|char)[\\s](.*)
檢查!match(pattern)
以進一步診斷問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.