gpt4 book ai didi

c - 正则表达式以获取英文引号之间的字符串/单词

转载 作者:行者123 更新时间:2023-12-04 05:21:43 33 4
gpt4 key购买 nike

我想在引号之间得到一个字符串
我知道一个解决方案是:

/'.*?'/

但问题是它不适用于英语中的所有格或收缩格
例如:
What is the name of Mario's brother in the 'Super Mario' video games?


He's my brother

它不能用那些句子

最佳答案

一种选择是确保在开始之前和结束之后没有词边界 ' :

/\B'.*?'\B/

单词字符(通常是正则表达式中的字母、数字、下划线)和非单词字符(任何其他字符或字符串的结尾)之间的位置构成了单词边界( \b )。所有其他职位均由 \B 匹配.

Working demo.

Further reading on word boundaries.

顺便说一句,如果您也想允许双引号,您可以使用反向引用确保一致的分隔:
/\B(['"]).*?\1\B/

如果您只想使用 ['"]两次,然后是 here "my' string会给你一个你可能不想要的火柴。请注意,根据您定义正则表达式的方式,您可能需要对其中一个引号进行转义。

关于c - 正则表达式以获取英文引号之间的字符串/单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613525/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com