如何使用MYSQL正则表达式在一组可能的符号首次出现后获取第一个字母数字字符

如何使用MYSQL正则表达式在一组可能的符号首次出现后获取第一个字母数字字符,mysql,regex,Mysql,Regex,我对正则表达式有困难。 我有一个MYSQL表,其中有ABC注释的曲调,看起来有点像这样: X: 1 T: Spórt M: 6/8 L: 1/8 R: jig K: Dmaj |:AdF ~A3 | GBE ~G3 | AdF ~A3 | GBE cde | AdF ~A3 | GBE ~G3 | cdc A2G | EAA D3 :| 我想在MYSQL中创建一个搜索功能,它将按歌曲的起始音符顺序列出歌曲。在这种情况下,我需要返回A 大多数曲调都是以以下两种方式开始的:一个条形码,一个重复的条

我对正则表达式有困难。 我有一个MYSQL表,其中有ABC注释的曲调,看起来有点像这样:

X: 1
T: Spórt
M: 6/8
L: 1/8
R: jig
K: Dmaj
|:AdF ~A3 | GBE ~G3 | AdF ~A3 |
GBE cde | AdF ~A3 | GBE ~G3 |
cdc A2G | EAA D3 :|
我想在MYSQL中创建一个搜索功能,它将按歌曲的起始音符顺序列出歌曲。在这种情况下,我需要返回
A

大多数曲调都是以以下两种方式开始的:一个条形码
,一个重复的条形码
:
,或者没有条形码(这意味着我必须匹配第一行中有条形码的第一个字符)

有没有关于regex会怎么做的建议?我觉得正则表达式非常混乱

试试:
\\\\:?([A-Ga-g])

  • \\\\\
    匹配
    \\\/code>
  • :?
    匹配
    如果有
  • ([A-Ga-g])
    得到一个注释

所以第7行符合条件?不幸的是,并非总是如此!ABC曲调可以在单独的行上有任意数量的额外字段,如composer等!