我需要正确的格式来用正则表达式查找这个 -aword-

我需要正确的格式来用正则表达式查找这个 -aword-

这是我第一次编写代码,所以请让我休息一下。这是我构想的一个项目,我为人类而做。并且需要一点帮助!它将组装剪辑,将剪辑组合成视频,使用我创建的基于神经科学的象形文字,将超过 50,000 张与音频同步的图像。我已经拥有完成这项工作的所有要素,我只需要一些帮助将各个要素组合在一起。

我尝试查找格式并使用,.\w. (^-)\w(-$)(^-)(a-z)(-$)只能找到-I-。该项目将在 VB.net 中完成,因此格式必须与 VB.net 中使用的 Regex 引擎相匹配。

我正在文本文件中搜索匹配项,格式如下,将在多个过程中使用,只是为了让你知道。

-We-  
-have--not--realized-  
-because--aspects--humanity-  
-perceive--through-  
-context--disconnectedness-  
-their--perceptions-  
-are--very--similar-  
-so--they--believe-  
-they--are--based--upon--reality-  

并使用保存正确格式的开关。我在 Rexegg.com 和谷歌搜索中搜索,但无果。有人能帮我解决这个问题吗?提前谢谢!

该开关将把一个文件中的文本与另一个文本文件中的文本进行匹配。

switch -regex ($message)
    {
        '\-\w\-\' {
         }
         '\-\w\--\w\-\' {
          }
        '\-\w\--\w\--\w\-\' {
          }
           '\-\w\--\w\--\w--\w\-\' {
          }
        '\-\w\--\w\--\w\--\w\--\w\-\' {
          }
    }

更新:我已经在这个项目上工作了 14 个小时,难怪我错过了。(^-).*(-$)

我使用()*?来组合,这就是我发现的。如果错了,有人能帮我吗?

switch -regex ($message)
    {
        (^-).*(-$){
         }
         '((^-).*(-$))*?((^-).*(-$))' {
          }
        '((^-).*(-$))*?((^-).*(-$))*?((^-).*(-$))' {
          }
           '((^-).*(-$))*?((^-).*(-$))*?((^-).*(-$))*? ((^-).*(-$))' {
          }
        '((^-).*(-$))*? ((^-).*(-$))*? ((^-).*(-$))*? ((^-).*(-$))*? ((^-).*(-$))' {
          }
    }

答案1

\w匹配单个单词字符(即[a-zA-Z0-9_],如果要匹配超过 1 个字符,则必须添加量词+表示 1 个或更多。然后您的正则表达式变为:

-\w+-这意味着一个连字符,一个或多个单词字符,一个连字符。

相关内容