我需要匹配包含用特殊字符包装的变量的文件中的文本。
前任:
#{VARIABLE_A}#
#{VARIABLE_A_EXAMPLE}#
它不应该匹配这些#{VARIABLEA}#
#{_VARIABLE_A}#
#{_VARIABLE_A_}#
#{VARIABLE_A
VARIABLE_A}#
#{}#
#{_}#
我试过的#{\w{3}}#
/\w+\#{[}#]+)\)/g
#\\w+\\b
#{\w+}#
有人可以解释答案是如何得出的
最佳答案
您可以使用
#{[a-zA-Z]+(?:_[a-zA-Z]+)+}#
如果允许数字,您可以添加 0-9
进入字符类,或者您可以使用 [^\W_]
匹配除 _
之外的任何字符字符:#{[a-zA-Z0-9]+(?:_[a-zA-Z0-9]+)+}#
#{[^\W_]+(?:_[^\W_]+)+}#
见 regex demo .细节
#{
- #{
子串[a-zA-Z]+
- 一个或多个字母 (?:_[a-zA-Z]+)+
- 一次或多次出现 _
和一个或多个字母 }#
- }#
子串关于regex - powershell正则表达式检查文件是否包含用特殊字符包裹的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67028921/