我想编写一个正则表达式来验证单引号前面是否有另一个单引号。
有效字符串:
azerty''uiop
aze''rty''uiop
''azertyuiop
azerty''uiop''
azerty ''uiop''
azerty''''uiop
azerty''''uiop''''
无效的字符串:
azerty'uiop
aze'rty'uiop
'azertyuiop
azerty'uiop'
azerty 'uiop'
azerty'''uiop
最佳答案
可以一行完成:
inputString.matches("(?:[^']|'')*+");
正则表达式简单地表示,字符串可以包含0或多个
非引号字符
[^']
要么
一对连续的引号
''
我使用的所有格版本(
*+
)为0或更多的量词(*
)。由于冗长的解释所有格限定词的含义,因此,我将引导您参考here来学习它。简而言之,这是一种优化。