我一直在試圖匹配Google+帳戶的URI用戶標識或虛榮身份。我正在使用GAS(Google腳本引擎),我已經加載XRegExp來幫助匹配Unicode字符。RegEx匹配G +個人資料網址
到目前爲止,我有這個:((https?://)?(plus\.)?google\.com/)?(.*/)?([a-zA-Z0-9._]*)($|\?.*)
你可以看到regex tests (external site)仍然不僅僅匹配正確的部分。
我試過在[a-zA-Z0-9._]
內使用\p{L}
,但沒有那個運氣。另外,當配置文件名稱匹配時,我最終會在配置文件名稱末尾添加一個額外的正斜槓。
UPDATE#1:我試圖修復從Google窗體複製的電子表格中的某些G + URL。鏈接不完全相同,最簡單的配置文件鏈接是「https://plus.google.com/」+用戶標識或虛榮名稱。
更新#2:到目前爲止,我有([+]\w+|[0-9]{21})(?:\/)?(?:\w+)?$
與用途@demrks簡化@guest271314的響應的版本。但是,有兩個問題:
1)Google Vanity URL可以包含unicode。例如:https://plus.google.com/u/0/+JoseManuelGarcía_ertatto
失敗。我曾嘗試使用\ p {L},但似乎無法正確使用。
2)雖然regex tests在這個網站上工作,但氣體似乎並不喜歡它的事件。 =(
更新#3:看來GAS只是討厭使用\w
所以我不得不擴大它,所以我有這個至今:
/([+][A-Za-z0-9-_]+|[0-9]{21})(?:\/)?(?:[A-Za-z0-9-_]+)?$/
這甚至與匹配「/約」 。或「/帖」在URL的末尾但是仍然不匹配UNICODE =(我還在工作對
更新#4:所以這似乎工作: /([+][\\w-_\\p{L}]+|[\\d]{21})(?:\/)?(?:[\\w-_]+)?$/
看起來我需要在角色類的側面做雙反斜槓。所以這似乎工作到目前爲止。不知道是否有更短的方式來使用這個。
您使用的所有虛榮名稱和用戶標識是否都以+開頭? – Academia 2014-08-30 15:35:45
所有虛空網址都以「+」開頭,但所有用戶標識都沒有。所以它更多的是[+]?條件 – flamusdiu 2014-08-30 18:06:01