当前位置: 首页 > 面试题库 >

编写长正则表达式,嵌入式注释会成语吗?

庄萧迟
2023-03-14
问题内容

一些语言具有在长的正则表达式中嵌入换行符和空格的功能,以使其更具可读性

( yogi | booboo )   # match something
\s
( the \s)?          # optional article
bear                # bears are not Mr. Ranger

AFAICT golang并 没有 这样的选择,是这样吗?

缺少这一点,为了清楚起见,组成正则表达式是唯一的选择吗?还是还有另一个成语?我现在找不到go中长regexen的任何例子。


问题答案:

大多数时候,人们只是在评论中提供正则表达式匹配的内容。但是,通过浏览Go源代码,我发现了一个有趣的示例:

// removeRE is the list of patterns to skip over at the beginning of a
// message when looking for message text.
var removeRE = regexp.MustCompile(`(?m-s)\A(` +
    // Skip leading "Hello so-and-so," generated by codereview plugin.
    `(Hello(.|\n)*?\n\n)` +

    // Skip quoted text.
    `|((On.*|.* writes|.* wrote):\n)` +
    `|((>.*\n)+)` +

    // Skip lines with no letters.
    `|(([^A-Za-z]*\n)+)` +

    // Skip links to comments and file info.
    `|(http://codereview.*\n([^ ]+:[0-9]+:.*\n)?)` +
    `|(File .*:\n)` +

    `)`,
)


 类似资料:
  • 问题内容: 我需要使用批注+正则表达式对电子邮件进行验证。我尝试使用以下内容: 但是,当电子邮件字段中的电子邮件地址不正确时,我不知道如何打印错误消息。有任何想法吗? 问题答案: 首先,您应该在注释中添加一个属性。假设您的邮件变量是某个类User的一部分: 然后,您应该定义一个验证器: 然后找到验证错误。

  • 主要内容:正则表达式元字符,贪婪模式非贪婪模式,正则表达式转义正则表达式(regular expression)是一种字符串匹配模式或者规则,它可以用来检索、替换那些符合特定规则的文本。正则表达式几乎适用于所有编程语言,无论是前端语言 JavaScript,还是诸如许多后端语言,比如 Python、Java、C# 等,这些语言都提供了相应的函数、模块来支持正则表达式,比如 Python 的 re 模块就提供了正则表达式的常用方法。 在使用 Python 编写

  • 正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,主要用于字符串处理,可以快速、准确地完成复杂的字符串查找、替换等处理要求。 常用的正则表达式元字符: 元字符|功能说明 :-:|- .|除换行符外的任意单个字符 *|0个或任意多个字符 +|1个或任意多个字符 -|用在 [ ] 中表示范围 ||两者中一个 ^|行首 $|行尾 ?|0个或1个字符 \

  • 问题内容: 我有一些复杂的正则表达式,为了便于阅读和维护,需要对其进行注释。Java规范相当简洁,为了使它正常工作,我努力了很长时间。我终于抓住了我的错误,并将其发布为答案,但对于保持正则表达式的任何其他建议,我将不胜感激 作为示例,我想在一个简单的名称解析器中注释(patternS的)子组件: 编辑:我也将感谢(?x)格式的示例。 编辑:@ geowa4有一个很好的建议,可以避免嵌入注释。自从J

  • 问题内容: 问题: 有人可以给我一个有效的正则表达式(C#/ VB.NET),可以从SQL语句中删除单行注释吗? 我的意思是这些评论: 不是那些 因为我已经可以处理星级评论。 我做了一个小解析器,当它们在行的开头时删除了这些注释,但是它们也可以在代码之后或更糟的地方,在SQL字符串中。 那些注释也应该被删除(SQL字符串中的那些注释除外)。当然-如果可能的话)。 令人惊讶的是我没有使正则表达式工作

  • 本文向大家介绍解释Java正则表达式中的子表达式“ [...]”,包括了解释Java正则表达式中的子表达式“ [...]”的使用技巧和注意事项,需要的朋友参考一下 子表达式“ [...] ”匹配括号中指定的任何单个字符。 例子1 输出结果 例子2 以下Java程序从用户那里接收5个字符串,并打印包含元音字母的字符串/单词。 输出结果