我想要一些正则表达式来评估整个字符串,以确保所有内部字符串都用引号括起来并且长度不超过5个字符。
例如(粗体包括空格的整个字符串):
"嗨" 我想要一场比赛
"再见" 我不想匹配,因为再见这个词超长
"锄" "嗨嗨" 我想匹配,因为所有单词都被引用并且在长度内
"喜" "嗨嗨" "嗨" 我不想匹配,因为句子 hi hoe 超长
"喜" "喜"嗨我不想匹配,因为 hi 是不加引号的
"喜" "喜" "嗨我不想匹配,因为"嗨没有完全引用
"锄" "锄" "嗨"锄" 我不想匹配,因为"嗨没有完全引用
答案 0 :(得分:1)
这可行吗
^((?:\"[\w\s]{1,5}\")(?:(?:\s+?\"[\w\s]{1,5}\")+)?)$
它基本上评估1到5个字符的字符串,由“并且允许多个字符串重复自己,前面有一个空格。由于它受到行尾和行尾的约束,它将排除不要输入的条目只计算这样的参赛作品。
答案 1 :(得分:1)
由于您希望匹配整行(^...$
),其中引号(\"[\w ]{,5}\"
)中的单词用空格分隔,除了最后一个((?: |$)+
)任意次数,你可以使用:
^(?:\"[\w ]{,5}\"(?: |$)+)+$
编辑:不要忘记多行标志。