【问题标题】:How to override entity.name.function using regex?如何使用正则表达式覆盖 entity.name.function?
【发布时间】:2020-06-23 20:47:50
【问题描述】:

我的函数的语法:return_type func_name(parameters)

我只需要得到func_name。我用了正则表达式

'(?:(String|Array|Map|Bool|bool|exception|string|Int|Float|Variant|Object|Message|message|void))\s({{identifier}}(?=\s*\())' 但我回来了return_type + func_name。如果我使用?!,我会得到一个函数调用。

func_name(arg),例如:ToString("")

{{identifier}} = \b[[:alpha:]_][[:alnum:]_]*\b

谢谢大家!

【问题讨论】:

    标签: regex sublimetext3 sublimetext


    【解决方案1】:

    使用

    (?:String|Array|Map|Bool|bool|exception|string|Int|Float|Variant|Object|Message|message|void)\s+\K[[:alpha:]_][[:alnum:]_]*(?=\s*\()
    

    proof

    (?:String|Array|Map|Bool|bool|exception|string|Int|Float|Variant|Object|Message|message|void) 匹配类型,\s+ 匹配一个或多个空格字符,\K 将忽略匹配的文本,[[:alpha:]_][[:alnum:]_]* 将匹配一个函数名称,如果有任何空格 + ( 跟随它。

    【讨论】:

    • 在 Sumbline 中,它的正则表达式不起作用 :( my cfg for name function ` - match: '(?:String|Array|Map|Bool|bool|exception|string|Int|Float|Variant|Object |Message|message|void)\s+\K[[:alpha:]_][[:alnum:]_]*(?=\s*() `scope: entity.name.function`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2012-03-01
    • 2012-04-10
    • 1970-01-01
    • 2023-01-01
    • 2022-10-17
    • 1970-01-01
    相关资源
    最近更新 更多