1
休息我测试过此正则表达式从文本字符串中提取URL:正则表达式测试,在JavaScript工作,但在谷歌工作表的REGEXEXTRACT
(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])
...和它的作品只是因为我想,它匹配我所投的所有网址。
然而,当我使用REGEXEXTRACT在谷歌表是这样的:
=iferror(Regexextract(A1,"(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])"),"")
...什么都没有提取。正则表达式是相同的。
我在做什么错?
注意:正则表达式在这里进行测试:http://www.regextester.com/53716
谷歌表[documenation] (https://support.google.com/docs/answer/3098245?hl=zh-CN)陈述: *** Google产品使用[RE2](https://github.com/google/re2/blob/master/doc/syntax.txt)提供正则表达式。 [了解如何使用RE2表达式](https://github.com/google/re2/blob/master/doc/syntax.txt)。*** –
我至少会用'[[因为'-'在角色类中具有特殊含义,所以最好避免在角色类中使用短划线。除非在字符类的末尾(在大多数正则表达式引擎中) – LukStorms
@LukStorms'-'如果放置在字符集的开始或结尾处,则没有特殊含义。 '[-abc]'或'[abc-]'是完全有效的。 –