簡體   English   中英

排除單詞但在正則表達式中包含字符

[英]Exclude words but include characters in regex

我有以下字符串:

<Chord: Aaug>, <Chord: C#aug/A>, <Chord: Faug/A>

我想提取和弦名稱, <Chord:> ,還包括逗號。 所以,對於那個字符串,我想匹配Aaug, C#aug/A, Faug/A

我試過這個正則表達式: \\b(?:(?!Chord:)\\w)+\\b 這排除了單詞Chord ,但不匹配#/

您能否在正則表達式的鏈接演示中嘗試以下、編寫和測試

<Chord:([^>]*)>

說明:<Chord:直到第一次出現>以及>匹配它,如果你想匹配python中的所有出現,你可以在python3中使用re庫的findall

使用 python 演示:

要捕獲每個<Chord: to >之間的值,請嘗試:

import re
a='<Chord: Aaug>, <Chord: C#aug/A>, <Chord: Faug/A>'
re.findall(r'<Chord: ([^>]*)', a)
['Aaug', 'C#aug/A', 'Faug/A']

或將值與<Chord:>匹配:

import re
a='<Chord: Aaug>, <Chord: C#aug/A>, <Chord: Faug/A>'
re.findall(r'<Chord:([^>]*)>', a)
[' Aaug', ' C#aug/A', ' Faug/A']
re.findall(r'<Chord:[^>]*>', a)
['<Chord: Aaug>', '<Chord: C#aug/A>', '<Chord: Faug/A>']

要訪問列表中的單個項目:

re.findall(r'<Chord:[^>]*>', a)[0]
'<Chord: Aaug>'
re.findall(r'<Chord:[^>]*>', a)[1]
'<Chord: C#aug/A>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM