我正在寻找一个正则表达式来匹配python中的连字符。
我设法得到的最接近的是:'\w+-\w+[-w+]*'
text = "one-hundered-and-three- some text foo-bar some--text"
hyphenated = re.findall(r'\w+-\w+[-\w+]*',text)
它返回列表 ['one-hundered-and-three-', 'foo-bar']。
除了“三”之后的尾随连字符外,这几乎是完美的。如果后面跟着一个“单词”,我只想要额外的连字符。即,而不是'[-\w+]*',我需要类似'(-\w+)*'的东西,我认为它可以工作,但没有(它返回['-three,''])。即匹配|word 后跟连字符后跟word 后跟hyphen_word 零次或多次|。