簡體   English   中英

正則表達式檢查單詞是否由某些單詞繼承

[英]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)以進一步診斷問題。

您將要使用Lookahead斷言。 說實話,我在Regex中很不錯,但我不是那個你想要解釋給你的人。

這個鏈接將比我更好地解釋它, 這個鏈接提供了一個相當不錯的正則表達式編輯器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM