正则表达式获取VB.Net源代码中的注释

2024-03-22

我在 vb.net 中有一个语法高亮功能。例如,我使用正则表达式来匹配“!IF”,然后将其着色为蓝色。在我尝试弄清楚如何进行评论之前,这一切都很完美。

我为评论编写的语言可以是如果该行以单引号 ' 开头,或者如果该行中的任何位置有两个单引号

'this line is a comment
!if StackOverflow = "AWESOME" ''this is also a comment

现在我知道如何查看它是否以单行 ^' 开头,但我需要将字符串一直返回到行尾,以便我可以将整个注释着色为绿色,而不仅仅是单引号。

您不需要该代码,但这里有一个片段,以防万一它有帮助。

    For Each pass In frmColors.lbRegExps.Items
        RegExp = System.Text.RegularExpressions.Regex.Matches(LCase(rtbMain.Text), LCase(pass))
        For Each RegExpMatch In RegExp
            rtbMain.Select(RegExpMatch.Index, RegExpMatch.Length)
            rtbMain.SelectionColor = ColorTranslator.FromHtml(frmColors.lbHexColors.Items(PassNumber))
        Next
        PassNumber += 1
    Next

大致如下:

^(\'[^\r\n]+)$|(''[^\r\n]+)$

应该给你第 n° 1 组中的注释行(部分行)

其实根本不需要组

^\'[^\r\n]+$|''[^\r\n]+$

如果它发现了什么,那就是一条评论。

"(^'|'').*$"

如果仅逐行应用(这可能是您的情况),波阿斯提到的将起作用。
对于多行检测,必须确保避免使用“Dotall”模式,其中“.”也代表 \r 和 \n 字符。否则该模式将完全匹配您的两条线。

这就是为什么我一般更喜欢[^\r\n]到“.”:它避免了对模式模式的任何依赖。即使在“Dotall”模式下,它仍然有效并避免在下一行尝试任何匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式获取VB.Net源代码中的注释 的相关文章

  • .htaccess 如果 URL 错误,请执行某些操作

    我正在做我的个人CMS http en wikipedia org wiki Content management system 我想在其中使用很酷 友好 的 URL 这是我的 htaccess 文件代码 RewriteEngine on
  • 如何在vb.net中对datagridview的3列进行排序

    下面我想对 ProductCode ColorCode 和 Size 列进行排序 请指导 对 大小 列中的信息进行排序 Size Number sequence XS 1 S 2 M 3 L 4 XL 5 XXL 6 2L 7 3L 8 4
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • UDP SocketException - 通常只允许每个套接字地址使用一次

    尽管这里有很多非常相似的问题 但提供的答案都没有帮助我 这让我很难过 我有一个非常大的管理系统 我的任务是为其编写一些 UDP 数据包发送 接收 我已经编写了一个原型 一切都很好 所以我开始将我的代码合并到所述系统中 然而 我现在弹出了一个
  • hive regexp_extract 怪异

    我在 regexp extract 方面遇到一些问题 我正在查询制表符分隔的文件 我正在检查的列具有如下所示的字符串 abc def ghi 现在 如果我这样做 select distinct regexp extract name 0 f
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • Pandas系列矢量化文本处理

    我想使用矢量化操作改进我的 Pandas 代码 假设我有一个简单的 DataFrame 其中有一个文本列 其中可能包含 url Column1 0 hello http www google com 1 bye www mail com w
  • 有人能给我一个 1 到 5 之间数字的正则表达式吗

    有人能给我一个 1 到 5 之间的单个数字的正则表达式吗 例如输入必须是 1 到 5 之间的数字 55 或 23 不匹配 尝试使用anchors http www regular expressions info anchors html
  • Python 正则表达式中的 \B+ 与 [\B]+ 与 [^\b]+

    我在回答 SO 问题时遇到了一个我不明白的问题 我创建了一个简化的示例来说明该问题 场景 我正在测试两个标记 不是随机的英语单词 在字符串中至少相距一定距离 在这个例子中 我们有一个动物列表 我们要确保在羊和狼之间至少还有其他三种动物 否则
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • 正则表达式中的“g”标志是什么意思?

    的含义是什么g正则表达式中的标志 之间有什么区别 g and g用于全局搜索 这意味着它将匹配所有出现的情况 通常你还会看到i这意味着忽略大小写 参考 全局 JavaScript MDN https developer mozilla or
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 使用正则表达式、kibana 搜索数组中的元素

    我正在搜索包含数组字段的记录payload params 我想显示包含该字符串的所有字段aabb 例子 payload params 3raabb 44aabb66 grgeg 展示 3raabb 44aabb66 如何在数组上使用正则表达
  • Notepad++正则表达式,查找大写字母但忽略某些单词

    我想找到所有大写字母 但我需要忽略某些单词 字母 例如 I m Surprised I Myself I Am Excited 在这种情况下 我试图标记所有大写字母 但排除 2 个单独的大写字母I and I m 这是我的出发点 A Z I
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 获取 FTP 服务器上的文件大小并将其放在标签上

    我正在尝试获取托管在FTP服务器并将其放入Label而 BackgroundWorker 在后台工作 我在用着 Try 来获取该值 但是该值在第一次尝试时被捕获 下载后 如果我按尝试再次获取它 那么它就可以工作 Note 第一次尝试时进度条

随机推荐

  • R 赋值的 Python 等价物

    在 R 中 我可以使用assign https stat ethz ch R manual R devel library base html assign html动态地为环境中的名称分配一个值 而不是 lt Example gt ass
  • Rails 5“gemify”资产清单文件

    Update 在工作状态下得到这个 宝石可以在这里找到 https github com jakehockey10 popcircle https github com jakehockey10 popcircle 原帖 我正在尝试将 jq
  • 加载 ember.js 对象时,动画 gif 暂停

    当 ember js 正在做它的事情时 旋转器实际旋转时遇到问题 我有一个非常通用的 jsfiddle 示例来说明这个问题 http jsfiddle net h4ZcZ 2 http jsfiddle net h4ZcZ 2 我认为必须有
  • CSS3 非线性动画路径

    如何使用 css3 制作非线性动画 基本上 如果我需要从视口中取出一个盒子 并且它是一条直线向下的路径 那么使用以下代码就很容易做到 transition transform 0 5s ease in And some JS to trig
  • SoX 使用 ProcessBuilder 运行缓慢

    我正在使用 java 中的 ProcessBuilder 来运行 SoX 它将 WAV 文件修剪为 30 秒长的 WAV 文件 SoX 正在运行 因为我可以成功修剪文件的前 30 秒并将其保存为新文件 但它停在那里 但它仍在运行 这是命令生
  • 在存储到 mysql 数据库之前压缩文本

    我正在使用 php 和 MySQL 开发一个 Web 应用程序 在存储在 MySQL 数据库中 在数据库中存储压缩形式的文本之前 我使用 gzcompress php 函数压缩文本 我的问题是这样可以吗 存储压缩形式 或者这个方法会不会给我
  • 使用 Android 相机进行图像处理

    我想使用 onPreviewFrame 在将图像显示给用户之前对其进行后处理 即应用色调 棕褐色等 据我了解 返回给回调的 byte 数据以 YUV420sp 编码 人们是否已经在 J ava 中或使用 NDK 本机代码 将其解码为 RGB
  • Scala dropWhile 与过滤器

    val xs Iterator from 1 dropWhile 2 0 takeWhile lt 10 toList val ys Iterator from 1 filter 2 0 takeWhile lt 10 toList pri
  • 如何用python生成a-z范围内的随机值

    我有 python 代码 它将生成随机值 例如 JAY5uFy4F 这是我运行 python 脚本时的第一个输出 这是我的代码 a n 1 c 1 c2 3 Start 10 n 1 End 10 n 1 while 1 Num rando
  • “无法找到一组匹配的功能”——Selenium 与 Python 2.7

    将 Selenium 3 8 1 与 Python 2 7 和 Firefox Portable 54 64 位结合使用 运行此脚本时收到以下错误消息 from selenium import webdriver from selenium
  • 了解 Azure Functions 高级计划计费

    我一直在阅读有关此问题的各种文档 但无法清楚地确认我的理解 我们正在评估 Azure Functions Premium Plan 并希望对成本有更清晰的了解 我的理解如下 在高级计划中 我们可以配置最小实例数和突发大小 这是高级计划实例的
  • Android SDK 管理器下载完成后校验和错误?

    I am using Android SDK Manager revision 23 0 5 I tried to update some SDK but got this errors I tried a lot of times And
  • 测量Java中单链表的大小/长度?

    我需要帮助int size Java 中单向链表的方法 这是我到目前为止所拥有的 但它没有返回列表的正确大小 public int size int size 0 Node CurrNode head while CurrNode next
  • 如何限制 Sinatra/Active Record 中数据库字符串值的字符/字数?

    我的专栏里有一个ActiveRecord我想要有一定字数限制的数据库 本质上 我创建了一个允许用户输入文本 字符串 的表单 我想限制该字符串中允许的字符数 allposts Post limit 20 这是我到目前为止在 get 方法中所拥
  • 使用服务名称在 docker-compose React 容器中调用 API 到 django 容器

    我有一个 docker compose 其中包含一个 React 应用程序和其他 django 容器 它们位于同一网络中 因此当我尝试使用服务名称从 React 容器向其中一个 django 服务发出curl 请求时 它可以工作 但在 We
  • 如何强制 XmlWriter 正确处理命名空间?

    我想使用 XmlWriter 编写类似这样的内容 全部在一个命名空间中
  • Code First 实体框架为主键列名称添加下划线

    我有一个域类的流畅映射 它定义了每列的名称 包括由两列组成的主键 NotificationId 和 IdentityId 这些也是分别指向Notification Id和Identity Id的外键 每当我使用此映射作为查询的一部分时 它都
  • 解决具有最大变量的优化问题

    原始问题 在给定收益矩阵的情况下找到玩家一的最佳混合策略 0 2 1 1 3 4 0 5 1 3 0 2 1 1 2 1 我有以下最大化问题 最大电压 s t3p1 p3 2p4 2p1 4p2 3p3 p4 p1 2p4 p1 5p2 2
  • Symfony 3 - 将控制器代码外包到服务层

    我对 Symfony 3 很陌生 我想避免 我的控制器中的业务逻辑 到目前为止我所做的是
  • 正则表达式获取VB.Net源代码中的注释

    我在 vb net 中有一个语法高亮功能 例如 我使用正则表达式来匹配 IF 然后将其着色为蓝色 在我尝试弄清楚如何进行评论之前 这一切都很完美 我为评论编写的语言可以是如果该行以单引号 开头 或者如果该行中的任何位置有两个单引号 this