亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一種在代碼中獲取標記之間字符串的方法

一種在代碼中獲取標記之間字符串的方法

C#
慕哥9229398 2023-09-09 17:27:10
我有這樣的東西fragment COMMENT_TEXT : ~(')')* ;COMMENT : '(' COMMENT_TEXT ')' ;SLASH_COMMENT : '//' COMMENT_TEXT '//' ;comment : COMMENT | SLASH_COMMENT ;并想要COMMENT_TEXT在代碼中獲取字符串。這似乎是一項簡單的任務,但我只是堅持了一段時間。這是監聽器的一部分:public override void ExitComment(P.CommentContext context){    var cb = new CommentBlock();    cb.OriginalText = context.GetText();    _currentBlock = cb;}OriginalText是帶大括號的注釋。我怎樣才能得到COMMENT_TEXT它自己?請提供相關文章的鏈接來解決此問題,而不是終極教程或參考手冊本身。例如,對于這樣的輸入:(testCommentText123)我想要得到CommentBlock.OriginalText == "testCommentText123"
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

沒有特定的方法可以訪問 ANTLR 中令牌的各個部分。你只需要把繩子自己拆開就可以了。您可以使用正則表達式或檢查標記類型(查看它是斜杠還是括號注釋),然后使用 刪除Substring第一個和最后一個 2 或 1 個(取決于注釋的類型)字符。

PS:您的規則將匹配文件中SLASH_COMMENT從第一個到最后一個的所有內容。這可能不是你想要的。////


查看完整回答
反對 回復 2023-09-09
  • 1 回答
  • 0 關注
  • 97 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號