我需要提取在具有以下结构的URL中指定的ID:
https://trello.com/c/iGjJLqwr/1-test-project
在上面的示例中,我想提取:
iGjJLqwr
我需要在Zapier中使用regex表达式,根据文档,它使用Python regex
以下python正则表达式的方向是正确的,但返回的结果仍然太多:
[^https://trello.com/c/][\w]+
返回3个匹配项:
Match 1
Full match 21-29 iGjJLqwr
Match 2
Full match 31-36 -test
Match 3
Full match 36-44 -project
我需要将结果限制为:
iGjJLqwr
下面的正则表达式返回一个额外的正斜杠
[^https://trello.com/c/]\w+/
Match 1
Full match 21-30 iGjJLqwr/
方括号
[ ... ]
创建一个字符集,选择其中一个字符。如果在开头加上一克拉,[^ ... ]
,这一组就取反。模式不考虑括号内的完整连续字符串。你知道吗换句话说,
[aaabbc]
等价于[abc]
(甚至[cba]
)。你知道吗如果只想捕获组中
https://trello.com/c/
之后的第一个path元素,可以使用以下模式:https://trello\.com/c/([^/]+).*
演示:https://regex101.com/r/99FDJS/2
如果希望模式仅与URL中的此子字符串相匹配,可以使用正向的lookahead和lookahead:
(?<=https://trello\.com/c/).+?(?=/.*)
演示:https://regex101.com/r/99FDJS/1
在您的模式中使用character class,它只匹配几个字符中的一个。从
^
开始将使其成为negated字符类,它匹配任何不在字符类中的字符。你知道吗因为character类后面没有量词,所以这个
[^https://trello.com/c/]
将匹配单个i
或-
,然后\w+
将匹配一个单词字符的1+倍。你知道吗这将为您提供匹配项
iGjJLqwr
、-test
和-project
我想你的意思是要匹配一个组中的id:
regex101 demo
关于图案
^
断言字符串的开头https://trello\.com/c/
逐字匹配https://trello.com/c/
(\w+)
在组1中捕获匹配1+倍的单词字符这将匹配没有额外正斜杠的ID:
(?=/)
断言下一个字符是正斜杠。你知道吗相关问题 更多 >
编程相关推荐