我试图想出一个正则表达式来识别字符串中给定字符的2,4,6,8,(等等)的实例。
我正在使用vbscript正则表达式引擎。
在我的特定情况下,我希望删除/替换字符串中偶数个连续单引号字符的实例。
我似乎无法理解如何使其足够健壮以找到任何2的倍数的实例而无需对其进行硬编码。
在非正则表达式编码中,我会找到2个或更多个连续单引号的实例,循环遍历每个实例,并将单引号的数除以2.如果它均匀分配,则匹配,如果不匹配,那不是一场比赛。我需要帮助将该逻辑转换为更简单的正则表达式。
示例:
"it''s a lovely day" --> should find one match group
"it's a lovely day" --> no match
"it'''s a lovely day" --> no match
"it''''''''s a lovely day" --> match
提前致谢。
答案 0 :(得分:2)
您正在寻找的表达方式是:
[^']('')+[^']
它搜索偶数个单引号字符(('')
=两个单引号,+
=至少发生一次),两个字符之间不是单引号({{1} } =由任何字符组成的字符类,但不是单引号。
以下是在线演示:http://regex101.com/r/wV6vE5/1