带单引号的字符串的正则表达式(通过双引号进行转义)
本文关键字:转义 字符串 单引号 正则表达式 | 更新日期: 2023-09-27 17:54:57
我没有找到解决问题的正则表达式。用反斜杠转义总是有example-regex。
但是我需要通过将包围字符加倍来转义。
的例子:"o"雷利"
结果:o ' reilly
'(?:''|[^']*)*'
将匹配用引号分隔的字符串,该字符串可能包含双转义引号。这就是找到这些字符串的正则表达式
解释:
' # Match a single quote.
(?: # Either match... (use (?> instead of (?: if you can)
'' # a doubled quote
| # or
[^']* # anything that's not a quote
)* # any number of times.
' # Match a single quote.
现在要正确地删除引号,可以分两步:
首先,搜索(?<!')'(?!')
找到所有单引号;
解释:
(?<!') # Assert that the previous character (if present) isn't a quote
' # Match a quote
(?!') # Assert that the next character (if present) isn't a quote
第二,搜索''
,全部替换为'