[英]RegEx : Capturing words within Quotation mark
我有一段这样的文字:
约翰出去散步了。 他遇到了爱德华兹夫人,并说:“您好,妈妈,您今天好吗?”。 她回答:“我很好。 你好吗?'。
我想用单引号引起来。 我尝试过这个正则表达式
re.findall(r"(?<=([']\b))((?=(\\?))\2.)*?(?=\1))",string)
(来自这个问题: RegEx:在引号之间获取值 )
它仅返回单引号作为输出。 我不知道出了什么问题有人可以帮助我吗?
Python要求捕获组必须完全关闭,然后才能对该组进行任何反向引用( \\2
)。
您可以使用正向lookbehind (?<=[\\s,.])
和正向lookahead (?=[\\s,.])
零长度断言来匹配单引号内的单词,包括诸如I'm
单词,即:
re.findall(r"(?<=[\s,.])'.*?'(?=[\s,.])", string)
Full match 56-92 'Hello Mam how are you doing today?'
Full match 106-130 'I'm fine. How are you?'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.