我想要一个与例如'panic can''t happen'
匹配为panic can''t happen
的正则表达式。如果双引号彼此相邻,则只允许使用双引号,'panic can't' happen'
可以分为两个字符串,panic can
和happen
。
我到目前为止已经\'[^\']*[\'\']?[^\']\'
,但它无法按预期工作。
谢谢!
答案 0 :(得分:4)
您可以尝试以下操作:
'(?:[^']+|'')+'
'
:匹配文字'
。[^']+
:匹配一个或多个不是'
的字符。''
:匹配加倍''
。(?:[^']+|'')+
:匹配前两种模式中的一种或多种情况。'
与结束'
匹配。答案 1 :(得分:0)
使用此模式将捕获双引号或在彼此不相邻时分割:
<强>模式强>
'((?:''|[^']+)+)'
<强> INPUT 强>
'恐慌不能'发生'
<强>输出强>
Match 1: 'panic can'
Group 1: panic can
和
Match 2: ' happen'
Group 1: happen
2个案例
<强> INPUT 强>
“恐慌不可能发生”<强>输出强>
Match 1: 'panic can''t happen'
Group 1: panic can''t happen