繁体   English   中英

RegEx:在引号内捕获单词

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM