我找不到正则表达式

乔安娜·鲁兹(Joana Rudzis)

我正在尝试从一首歌中抓住所有和弦,并将其放入HTML元素中。我正在使用此正则表达式

/(\W)(\s)(   Chord  )\s/

此正则表达式找不到我需要的所有和弦。我究竟做错了什么?

例如歌曲:

Intro: D G D G D G A G

D       G
Klausei ko taip žiūriu
D       G
Tavęs ausys neapgavo
D       G
Aš kilnų tikslą turiu
D       G
Sukišt liežuvį į burną tavo
A   G   D E G
Tai jokia nepagarba
A   D E G
Ir ne  kančia
A   D E G
Ir ne bėda
A   D E G
Greičiau likimo dovana

D D G 

Mes pasirengę tegu
Mums gimsta dukros ir arba sūnūs
Arba visi kartu
Ir kuo daugiau, lai mums linksma būna

Tai beveik prabanga
Jokia bėda
Ir ne kančia
Tiesiog likimo dovana
蛋黄酱

正则表达式表达适用于不具有“知识”的模式,我的意思是,正则表达式并不真正知道合唱,URL或其他任何类型的模式。但是您可以使用您的模式知识定义一个正则表达式,以捕获您认为属于模式的事物。

在这种情况下,您要捕获和弦,该和弦似乎是AG范围内的大写单个字母或在相同范围内的de上-小写字母后跟字母m。可能在两侧都有空格。

因此,您可以定义此正则表达式:

/(?<=\s)([ABCDEFG]|Am|Bm|Cm|Dm|Em|Gm)(?=\s)/gm

这意味着(?<=\s):在模式的开头查找\ spaces,但不要捕获它们。

然后([ABCDEFG]|Am|Bm|Cm|Dm|Em|Gm):查找集合[ABC ... G]的一个字母或组合Am或Bm或...

然后(?=\s),它会在模式末尾查找\ space(不捕获它们)。

https://regex101.com/r/iE1xN3/1

您也可以在其中重新定义正则表达式,

/(?<=\s)([A-G]m?)(?=\s)/gm

相同,但以其他方式表示,其中([A-G]m?):表示查找A ... G范围内的字母,后跟字母m。

https://regex101.com/r/iE1xN3/2


对于javascript(不支持后向搜索,您可以执行以下操作:

/(\b)([A-G]m?)(?=\s)/gm

https://regex101.com/r/iE1xN3/3

感谢@stribizhev的反馈)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即使使用-std = c ++ 11 macOSX,C ++也找不到正则表达式

来自分类Dev

正则表达式匹配,如果找不到空间

来自分类Dev

找不到合适的正则表达式

来自分类Dev

正则表达式替换失败,我找不到原因吗?

来自分类Dev

Javascript正则表达式;找到“ x”,但如果前面带有“ y”则找不到

来自分类Dev

找不到与Java Matcher匹配的正则表达式

来自分类Dev

Java匹配器找不到匹配项,即使正则表达式可以单独工作

来自分类Dev

python中的正则表达式-找不到特定的字符串

来自分类Dev

替换正则表达式,直到找不到匹配项

来自分类Dev

使用正则表达式(python)删除unicode项目符号-找不到项目符号

来自分类Dev

仅当找不到重复行时才匹配的正则表达式

来自分类Dev

正则表达式:找不到正确的表达

来自分类Dev

找不到正确的正则表达式模式

来自分类Dev

Python正则表达式找不到某些模式

来自分类Dev

找不到这个简单的正则表达式

来自分类Dev

Outlook上下文加载项找不到带有正则表达式的加号

来自分类Dev

在python:3.8.3 docker image中找不到正则表达式的任何软件包

来自分类Dev

为什么此正则表达式在本文中找不到任何内容?

来自分类Dev

找不到正则表达式模式来拉特定列

来自分类Dev

在另一个正则表达式中找不到正则表达式

来自分类Dev

正则表达式找不到两个匹配项

来自分类Dev

在我的正则表达式中找不到错误

来自分类Dev

找不到合适的正则表达式

来自分类Dev

找不到为什么我的VBA简单正则表达式命令不起作用

来自分类Dev

Java正则表达式找不到匹配项

来自分类Dev

找不到 Vim 正则表达式替换模式

来自分类Dev

android正则表达式找不到匹配器

来自分类Dev

为什么我的正则表达式找不到任何匹配项?

来自分类Dev

正则表达式代码找不到匹配项

Related 相关文章

  1. 1

    即使使用-std = c ++ 11 macOSX,C ++也找不到正则表达式

  2. 2

    正则表达式匹配,如果找不到空间

  3. 3

    找不到合适的正则表达式

  4. 4

    正则表达式替换失败,我找不到原因吗?

  5. 5

    Javascript正则表达式;找到“ x”,但如果前面带有“ y”则找不到

  6. 6

    找不到与Java Matcher匹配的正则表达式

  7. 7

    Java匹配器找不到匹配项,即使正则表达式可以单独工作

  8. 8

    python中的正则表达式-找不到特定的字符串

  9. 9

    替换正则表达式,直到找不到匹配项

  10. 10

    使用正则表达式(python)删除unicode项目符号-找不到项目符号

  11. 11

    仅当找不到重复行时才匹配的正则表达式

  12. 12

    正则表达式:找不到正确的表达

  13. 13

    找不到正确的正则表达式模式

  14. 14

    Python正则表达式找不到某些模式

  15. 15

    找不到这个简单的正则表达式

  16. 16

    Outlook上下文加载项找不到带有正则表达式的加号

  17. 17

    在python:3.8.3 docker image中找不到正则表达式的任何软件包

  18. 18

    为什么此正则表达式在本文中找不到任何内容?

  19. 19

    找不到正则表达式模式来拉特定列

  20. 20

    在另一个正则表达式中找不到正则表达式

  21. 21

    正则表达式找不到两个匹配项

  22. 22

    在我的正则表达式中找不到错误

  23. 23

    找不到合适的正则表达式

  24. 24

    找不到为什么我的VBA简单正则表达式命令不起作用

  25. 25

    Java正则表达式找不到匹配项

  26. 26

    找不到 Vim 正则表达式替换模式

  27. 27

    android正则表达式找不到匹配器

  28. 28

    为什么我的正则表达式找不到任何匹配项?

  29. 29

    正则表达式代码找不到匹配项

热门标签

归档