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-]'是完全有效的。 –