regex - powershell正则表达式检查文件是否包含用特殊字符包裹的单词

标签 regex powershell

我需要匹配包含用特殊字符包装的变量的文件中的文本。
前任:

#{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/

    相关文章:

    使用 powershell 注册 azure 应用程序不会创建服务主体

    powershell - 通过 Powershell 连接到 VPN

    powershell - 如何在Windows中监视文件夹并运行批处理文件

    json - 使用Powershell从AWS JSON提取一些字段

    Java replaceAll : Cannot replace string with backslash

    javascript - 正则表达式:方括号之间的有限符号

    python - 将括号中的单词作为组正则表达式获取

    azure - 使用 Azure 功能的命令需要哪些 Azure 角色/权限

    Python 正则表达式匹配段落

    java - 通过正则表达式从字符串中删除文本