簡體   English   中英

哪些正則表達式可以用來識別java中的關鍵字?

[英]Which regular expression can be used to recognize keywords in java?

我想匹配諸如 if、else、new 和..等關鍵字。請建議一個合適的正則表達式來匹配它們。

我試過

(((\\s)+(when|then|end|and))+(\\s|$))|rule|if|else|(new+(\\s)) 

但它不能正常工作。

如果您有一個 Java 關鍵字列表,那么您可以將其轉換為與這些關鍵字匹配的正則表達式(原則上 - 以下不打算用作實際代碼,只是為了說明它是如何工作的):

"\\b(?:" + "if" + "|" + "for" + "|" + ... + "|" + "new" + "|" + "static" + ")\\b"

該正則表達式使用單詞邊界錨,以確保它不匹配if在字knife ,例如。

但是,它沒有語義概念,因此除非您已經進行了一些解析以將注釋或字符串等與源代碼的“命令部分”分開,否則您將在不一定用作的地方找到匹配項關鍵詞。

暫無
暫無

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

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