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

音乐和弦正则表达式

邢心水
2023-03-14

我发现一个很好的正则表达式检测音乐和弦。然而,当我添加“例如”和“been this way”之类的歌词或任何以音符开头的单词时,它就会被匹配。如何忽视这些?

音乐和弦的正则表达式:

\b(?:G,C,D|A,B,C|E,C,D)|(?:[ABCDEFG](?:#|b)?)(?:\/[ABCDEFG]b)?(?:(?:(?:maj|min|sus|add|aug|dim)(?:\d{0,2}(?:#\d{1,2}|sus\d)?)?)|(?:m\d{0,2}(?:(?:maj|add|#)\d{0,2})?)|(?:-?\d{0,2}(?:\([^)]*\)|#\d{1,2})?))?

链接到测试正则表达式:here

共有1个答案

周阳波
2023-03-14

正如在评论部分已经说过的:一种方法将包括在最后添加另一个单词boundary:

...\b
#   ^

请参阅regex101.com上的演示。

 类似资料:
  • 问题内容: 我的问题是:在GWT中使用正则表达式是否有很好的解决方案? 例如,我对String.split(regex)的使用不满意。GWT将代码转换为JS,然后将正则表达式用作JS正则表达式。但是我不能使用Java Matcher或Java Pattern之类的东西。但是我需要这些来进行组匹配。 有没有可能或图书馆? 我尝试了Jakarta Regexp,但是还有其他问题,因为GWT不能模拟该库

  • 问题内容: 我有一个脚本,可以分析电视剧集的文件名(例如show.name.s01e02.avi),获取剧集的名称(从www.thetvdb.com API),然后自动将其重命名为更好的名称(显示名-[01x02 ] .avi) 该脚本可以正常工作,直到您尝试在具有Unicode显示名称的文件上使用该脚本为止(我从未真正考虑过这一点,因为我拥有的所有文件都是英文的,所以大部分都属于) 如何允许正则

  • 我想做一个正则表达式来匹配这些字符串之一:、、、。 我的正则表达式只能接受以下字符串(而不是其他单词): 这是我当前的正则表达式,但它不能按预期工作: 编辑 如果在我的字符串中它们是: 如果它们是其他单词或符号,则返回 false。 谢谢大家。

  • 问题内容: 以下语句之间有什么区别 尽管类是class,但是为什么我们需要创建一个字符串“ CONSTANT”变量作为最终变量? 问题答案: 在这种情况下,该变量只能分配一次。再次为其分配不同的对象会导致编译错误。 我认为,造成混淆的原因是该关键字可以在几种不同的上下文中使用: final class:该类不能被子类化。 最终方法:该方法不能被覆盖。 最终变量:该变量只能分配一次。 有关每种情况的

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

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