在 Python 中使用正则表达式,我想从字符串中获取单词“net”,如果下一个单词“wt”,也获取
示例:
string = "12 盒净重 1.oz 3.6g"#必须返回“净重”
string = "12 盒净重 1.oz 3.6g"#必须返回“net”
“net”和“wt”之间可以是“.” “,”或空格
我使用了这个正则表达式,但在第二个示例中不起作用
pat = r'net([,.\s]*?)(wt?)'
最佳答案
您尝试的模式net([,.\s]*?)(wt?)
从字符类中捕获非贪婪匹配,然后匹配w
带有可选的 t
,使用 ?
仅使 w 成为强制,并且也可能匹配 netw
或 net w
您可以将字符类放在括号内,并使整个部分可选,在其后面放置 ?
。
\bnet(?:[,. ]wt)?\b
关于python - 匹配单词 "A"。如果 "B"是下一个单词,则也匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62197454/