当前位置: 首页 > 知识库问答 >
问题:

Powershell的Regex中的行返回说明

施茂
2023-03-14

今天刚刚学习了正则表达式的基础知识,并通过一些努力,设法拼凑出一些几乎有效的东西。

我有一本书中的文档,我需要在子弹里找到文章,而不是散文。

子弹样本:

Lorem ipsum Lorem(XXX)Lorem Lorem the ipsum Lorem ipsum,Lorem,and

散文示例:(右)lorem写了ipsum。Lorem ipsum动词ipsum。

到目前为止,这或多或少地起到了作用:

$regexArticles = "^·\ [\w ,:;()+-=&·]*\b( the | a | an |The |An )\b.*$"
$articlecount = Select-String -Path $textfile -Pattern $regexArticles -AllMatches
"Article Count: " + $articlecount.Matches.Count

为了让这一点更易读,我将解释我的想法:如果这一行以一个项目符号开头,后面是任意数量的单词和字符:“,:()-=

问题是,这不符合以下情况:

Lorem ipsum Lorem(XXX)Lorem Lorem the ipsum Lorem ipsum,Lorem,and

lorem lorem这个lorem lorem

当我要获取的字符串包含像这样的换行符时,我如何保持这种逻辑呢?

如果有一种更简单的方法,也许只是排除所有包含句点的句子,那就太好了(唯一的问题是有时这些项目符号会错误地包含句点)。

编辑

刚刚意识到在我的sublime文本编辑器中“几乎”起作用的东西在Powershell中根本不起作用。不管出于什么原因,尽管这会在regex中返回带有sublime文本的匹配,但对于Powershell却不会。

现在我知道为什么了。虽然Sublime可以处理子弹角色,但外壳无法处理,所以它被省略了,我没有注意到。现在我只需要知道正确的方法来获取子弹unicode并以相同的方式传递它。

共有1个答案

蒋奕
2023-03-14

作为一个有点hackish修复,因为我无法弄清楚如何检测中间点字符(u00B7)|(d183),我能够通过排除我不想找到的东西来解决它。

"^[^\d^(^\s] *\b( the | a | an |The |An )\b.*$"

我不想要任何以数字开头的行,也不想要以开括号开头的行。目前,这是可行的。不幸的是,为了让我的应用程序的其他正则表达式搜索有用,我必须解决这个问题。

在回答我最初的问题时,我顿悟了,我可以添加可选的\n?以说明潜在的断线!最终表达式如下所示:

^[^\w\d\s(].*\n?\r*?.*\b( the | a | an |The |An )\b.*$
 类似资料:
  • 本文向大家介绍说明PowerShell中的Try / Catch / Finally块,包括了说明PowerShell中的Try / Catch / Finally块的使用技巧和注意事项,需要的朋友参考一下 PowerShell中的Try / Catch块用于处理脚本中产生的错误。具体而言,错误应该是终止错误。在最后在PowerShell中块不是强制性的,每次沿写try / catch语句,但它会

  • 问题内容: 我知道有人问过这个问题,但我无法解决 对于带有正文(西班牙语)的书本对象:(实际上更长一些) 我一直为以下原因返回0: 我一直在控制台上。为什么哦为什么? 问题答案: 从Matcher.groupCount()的javadoc中: 返回此匹配器模式中的捕获组数。 零组按照惯例表示整个模式。它不包括在此计数中。 如果您检查返回值,则返回,然后返回,因此匹配器会找到匹配项。 如果您要尝试计

  • 简介 在单次活体检测(静默活体检测)中,JS SDK一共请求了三次公有云,分别是检测活体(静默活体)、请求活体关键帧图片(可选)以及防HACK检测。SDK将所有返回结果放在一个对象里面返回给开发者。 beforeCheck(data)回调函数 说明 在活体检测开始之前被调用。 data参数 Object类型,主要包含上传的视频文件。 参数 说明 类型 video_file 活体检测采集的视频文件,

  • 原始正则表达式:< code>[v]\d?\.\d 捕获字符串中的“v{N}.{n}”,其中{N}/{n}只是一个数字。我在代码(java)中尝试,但返回false。 代码: 控制台:

  • 本文向大家介绍Windows Powershell 命令返回数组,包括了Windows Powershell 命令返回数组的使用技巧和注意事项,需要的朋友参考一下 当我们把一个命令的执行结果保存到一个变量中,可能会认为变量存放的是纯文本。 但是,事实上Powershell会把文本按每一行作为元素存为数组。如果一个命令的返回值不止一个结果时,Powershell也会自动把结果存储为数组。 使用数组存

  • 本文向大家介绍请你说一说HTTP返回码相关面试题,主要包含被问及请你说一说HTTP返回码时的应答技巧和注意事项,需要的朋友参考一下 参考回答: HTTP协议的响应报文由状态行、响应头部和响应包体组成,其响应状态码总体描述如下: 1xx:指示信息--表示请求已接收,继续处理。 2xx:成功--表示请求已被成功接收、理解、接受。 3xx:重定向--要完成请求必须进行更进一步的操作。 4xx:客户端错误