我必须匹配超过30个字符的单词,但这些单词不能是网址。
我试图这样做,但效果不好:
(?<!ftp)([^\s\t\r\n<>]{30})
答案 0 :(得分:1)
我有几点意见:
ftp://example.com
匹配,因为您使用的是lookbehind,它在第一个f之前看不到任何内容。请改为使用前瞻。{31,}
。请改为尝试:
(?<![^\s<>])(?!ftp)([^\s<>]{31,})(?![^\s<>])
答案 1 :(得分:0)
试试这个:
\b(?<!ftp://)\w{30,}\b