我正在打开这个与另一个非常相似的线程,但我无法解决问题:我有一个输入字段,允许一个带有可选唯一空格的字母数字字符串作为分隔符,然后是一个可选的其他字母数字字符串等... .我发现这个正则表达式:
^([0-9a-zA-z]+ ?)*$
有用 !但是,一旦我在一个长句子中有 2 个连续的空格并且这 2 个空格在句子中的位置很远,性能真的很差。在下面的示例中,如果我将 2 个空格放在句子的开头,则结果在半秒内就可以了。但如果位置较远,它会持续 10 秒或更长时间。
dzdff5464zdiophjazdioj ttttttttt zoddzdffdziophjazdioj ttttttttt zoddzdffdzdff ttttt zoddzdfff ttttt zoddzdfff ttttt zoddzdfff ttttt zoddzdfff ttttt zoddzdfff ttttt zoddzdfff ttttt zoddzdfff ttttt zoddzdfff ttttt zo999 ddzdfff ttttt zoddzdfff ttttt zoddzdff
2 个空格在999
. 您对改进这个正则表达式有什么想法或建议吗?
谢谢并恭祝安康
PF
ps:您可以在字符串中输入无效字符后立即检查问题,而不是特别是2个空格。
编辑:另一个例子:12345678901234567890' ==> 20 char。+ 1 个无效字符。=> 结果是立即添加 5 个有效字符。执行正则表达式持续 5 秒!1234567890123456789012345'