Regex以捕获后面跟有非标点符号的引号

Regex to capture quotation mark followed by a non-punctuation character

本文关键字:标点符号 Regex      更新时间:2023-09-26

我有以下正则表达式来匹配开头的引号:

/'(?='b)/g

但后来我意识到它也捕获了像don'tit's这样的东西。

所以我添加了另一条规则:

/'(?='b[^a-zA-Z])/g

捕获一个开头没有字母的引号(本例中为ts)。但现在没有一个引号被突出显示。

我是否以错误的方式修改了正则表达式?

编辑:

哦,我意识到了我愚蠢的错误。不管怎样,我想做的是:

"两个‘三个’"

"四不是吗"

我想匹配three中的开口',但不匹配don'tit's 中的'

您可以尝试使用此正则表达式来匹配引号,但跳过don't it's等情况:

/(?:^|[^a-zA-Z])'|'(?![a-zA-Z])/gm

RegEx演示

您可以使用以下正则表达式仅匹配打开的'

/(?!'b)'/g

查看测试用例上的演示

你找错地方了。您希望找到引用前面没有任何内容,后面有字符的实例。这可能会工作

/'b''B/

参考您的上一个EDIT,这个Regex /['.',';'?'!'s]+'/g就是您想要的,它匹配'three'等句子中的引号,并跳过您需要的内容(don't and it's等句子)。

这是演示