我已閱讀文檔並查看其他問題,但我沒有找到答案。可能在集合中使用插入符號和前瞻符號?
是否可以在一個集合中使用一個lookahead,或在一個集合中使用一個lookahead作爲補充?
我想創建一個匹配每個字符的集合,除了空格前面的破折號。但是,如果只有一個空間沒有跟着一個短劃線,它應該是一個匹配。
我在想這樣的事情會的工作,但它並不:
r'[^\s(?=\-)]'
不要向前看符號不是一套內部工作?如果不是,我怎麼能解決這個問題呢?
編輯提供的例子:
我一直在試圖找到一個更準確的替代
r'([^\-]*)\-(.*)'
其目的是讀取標題行和獨立藝術家。
應用re.match(r'([^\-]*)\-(.*)', "artist - title")
應該產生:
group(1) = "artist"
group(2) = "title"
但是如果藝術家名稱中包含破折號的字符串錯誤的部分被捕獲。
實施例:
re.match(r'([^\-]*)\-(.*)', "jay-z - title")
將產生:
group(1) = "jay"
group(2) = "z - title"
我想捕獲組來捕獲空間和破折號,但如果它是前面有一個空格不捕獲破折號(或如果後面跟着一個破折號,則假設前視與後視)。
請問您可以舉一些例子,說明您有什麼和要匹配什麼以及哪些不匹配? – Jerry
更新爲包含示例 –